#tag ModuleProtected Module ScriptName	#tag Method, Flags = &h0		Sub BuildDiacriticsDB()		  DiacriticsDB=New Dictionary		  ReverseDiacriticsDB=New Dictionary		  		  DiacriticsDB.Value("0020")="0020"		  DiacriticsDB.Value("0020")=DiacriticsDB.Value("0020")+",00A0"		  ReverseDiacriticsDB.Value("00A0")="0020"		  DiacriticsDB.Value("0020")=DiacriticsDB.Value("0020")+",200B"		  ReverseDiacriticsDB.Value("200B")="0020"		  DiacriticsDB.Value("0020")=DiacriticsDB.Value("0020")+",2060"		  ReverseDiacriticsDB.Value("2060")="0020"		  DiacriticsDB.Value("0020")=DiacriticsDB.Value("0020")+",3000"		  ReverseDiacriticsDB.Value("3000")="0020"		  DiacriticsDB.Value("0020")=DiacriticsDB.Value("0020")+",FEFF"		  ReverseDiacriticsDB.Value("FEFF")="0020"		  DiacriticsDB.Value("0021")="0021"		  DiacriticsDB.Value("0021")=DiacriticsDB.Value("0021")+",00A1"		  ReverseDiacriticsDB.Value("00A1")="0021"		  DiacriticsDB.Value("0021")=DiacriticsDB.Value("0021")+",01C3"		  ReverseDiacriticsDB.Value("01C3")="0021"		  DiacriticsDB.Value("0021")=DiacriticsDB.Value("0021")+",203C"		  ReverseDiacriticsDB.Value("203C")="0021"		  DiacriticsDB.Value("0021")=DiacriticsDB.Value("0021")+",203D"		  ReverseDiacriticsDB.Value("203D")="0021"		  DiacriticsDB.Value("0021")=DiacriticsDB.Value("0021")+",2762"		  ReverseDiacriticsDB.Value("2762")="0021"		  DiacriticsDB.Value("0022")="0022"		  DiacriticsDB.Value("0022")=DiacriticsDB.Value("0022")+",02BA"		  ReverseDiacriticsDB.Value("02BA")="0022"		  DiacriticsDB.Value("0022")=DiacriticsDB.Value("0022")+",030B"		  ReverseDiacriticsDB.Value("030B")="0022"		  DiacriticsDB.Value("0022")=DiacriticsDB.Value("0022")+",030E"		  ReverseDiacriticsDB.Value("030E")="0022"		  DiacriticsDB.Value("0022")=DiacriticsDB.Value("0022")+",2033"		  ReverseDiacriticsDB.Value("2033")="0022"		  DiacriticsDB.Value("0022")=DiacriticsDB.Value("0022")+",3003"		  ReverseDiacriticsDB.Value("3003")="0022"		  DiacriticsDB.Value("0023")="0023"		  DiacriticsDB.Value("0023")=DiacriticsDB.Value("0023")+",2114"		  ReverseDiacriticsDB.Value("2114")="0023"		  DiacriticsDB.Value("0023")=DiacriticsDB.Value("0023")+",266F"		  ReverseDiacriticsDB.Value("266F")="0023"		  DiacriticsDB.Value("0024")="0024"		  DiacriticsDB.Value("0024")=DiacriticsDB.Value("0024")+",00A4"		  ReverseDiacriticsDB.Value("00A4")="0024"		  DiacriticsDB.Value("0025")="0025"		  DiacriticsDB.Value("0025")=DiacriticsDB.Value("0025")+",066A"		  ReverseDiacriticsDB.Value("066A")="0025"		  DiacriticsDB.Value("0025")=DiacriticsDB.Value("0025")+",2030"		  ReverseDiacriticsDB.Value("2030")="0025"		  DiacriticsDB.Value("0025")=DiacriticsDB.Value("0025")+",2031"		  ReverseDiacriticsDB.Value("2031")="0025"		  DiacriticsDB.Value("0025")=DiacriticsDB.Value("0025")+",2052"		  ReverseDiacriticsDB.Value("2052")="0025"		  DiacriticsDB.Value("0026")="0026"		  DiacriticsDB.Value("0026")=DiacriticsDB.Value("0026")+",204A"		  ReverseDiacriticsDB.Value("204A")="0026"		  DiacriticsDB.Value("0026")=DiacriticsDB.Value("0026")+",214B"		  ReverseDiacriticsDB.Value("214B")="0026"		  DiacriticsDB.Value("0027")="0027"		  DiacriticsDB.Value("0027")=DiacriticsDB.Value("0027")+",02B9"		  ReverseDiacriticsDB.Value("02B9")="0027"		  DiacriticsDB.Value("0027")=DiacriticsDB.Value("0027")+",02BC"		  ReverseDiacriticsDB.Value("02BC")="0027"		  DiacriticsDB.Value("0027")=DiacriticsDB.Value("0027")+",02C8"		  ReverseDiacriticsDB.Value("02C8")="0027"		  DiacriticsDB.Value("0027")=DiacriticsDB.Value("0027")+",0301"		  ReverseDiacriticsDB.Value("0301")="0027"		  DiacriticsDB.Value("0027")=DiacriticsDB.Value("0027")+",2032"		  ReverseDiacriticsDB.Value("2032")="0027"		  DiacriticsDB.Value("0027")=DiacriticsDB.Value("0027")+",A78C"		  ReverseDiacriticsDB.Value("A78C")="0027"		  DiacriticsDB.Value("0028")="0028"		  DiacriticsDB.Value("0029")="0029"		  DiacriticsDB.Value("002A")="002A"		  DiacriticsDB.Value("002A")=DiacriticsDB.Value("002A")+",066D"		  ReverseDiacriticsDB.Value("066D")="002A"		  DiacriticsDB.Value("002A")=DiacriticsDB.Value("002A")+",204E"		  ReverseDiacriticsDB.Value("204E")="002A"		  DiacriticsDB.Value("002A")=DiacriticsDB.Value("002A")+",2217"		  ReverseDiacriticsDB.Value("2217")="002A"		  DiacriticsDB.Value("002A")=DiacriticsDB.Value("002A")+",26B9"		  ReverseDiacriticsDB.Value("26B9")="002A"		  DiacriticsDB.Value("002A")=DiacriticsDB.Value("002A")+",2731"		  ReverseDiacriticsDB.Value("2731")="002A"		  DiacriticsDB.Value("002B")="002B"		  DiacriticsDB.Value("002C")="002C"		  DiacriticsDB.Value("002C")=DiacriticsDB.Value("002C")+",060C"		  ReverseDiacriticsDB.Value("060C")="002C"		  DiacriticsDB.Value("002C")=DiacriticsDB.Value("002C")+",201A"		  ReverseDiacriticsDB.Value("201A")="002C"		  DiacriticsDB.Value("002C")=DiacriticsDB.Value("002C")+",3001"		  ReverseDiacriticsDB.Value("3001")="002C"		  DiacriticsDB.Value("002D")="002D"		  DiacriticsDB.Value("002D")=DiacriticsDB.Value("002D")+",2010"		  ReverseDiacriticsDB.Value("2010")="002D"		  DiacriticsDB.Value("002D")=DiacriticsDB.Value("002D")+",2011"		  ReverseDiacriticsDB.Value("2011")="002D"		  DiacriticsDB.Value("002D")=DiacriticsDB.Value("002D")+",2012"		  ReverseDiacriticsDB.Value("2012")="002D"		  DiacriticsDB.Value("002D")=DiacriticsDB.Value("002D")+",2013"		  ReverseDiacriticsDB.Value("2013")="002D"		  DiacriticsDB.Value("002D")=DiacriticsDB.Value("002D")+",2212"		  ReverseDiacriticsDB.Value("2212")="002D"		  DiacriticsDB.Value("002D")=DiacriticsDB.Value("002D")+",10191"		  ReverseDiacriticsDB.Value("10191")="002D"		  DiacriticsDB.Value("002E")="002E"		  DiacriticsDB.Value("002E")=DiacriticsDB.Value("002E")+",06D4"		  ReverseDiacriticsDB.Value("06D4")="002E"		  DiacriticsDB.Value("002E")=DiacriticsDB.Value("002E")+",3002"		  ReverseDiacriticsDB.Value("3002")="002E"		  DiacriticsDB.Value("002F")="002F"		  DiacriticsDB.Value("002F")=DiacriticsDB.Value("002F")+",01C0"		  ReverseDiacriticsDB.Value("01C0")="002F"		  DiacriticsDB.Value("002F")=DiacriticsDB.Value("002F")+",0338"		  ReverseDiacriticsDB.Value("0338")="002F"		  DiacriticsDB.Value("002F")=DiacriticsDB.Value("002F")+",2044"		  ReverseDiacriticsDB.Value("2044")="002F"		  DiacriticsDB.Value("002F")=DiacriticsDB.Value("002F")+",2215"		  ReverseDiacriticsDB.Value("2215")="002F"		  		  DiacriticsDB.Value("0030")="0030"		  DiacriticsDB.Value("0031")="0031"		  DiacriticsDB.Value("0032")="0032"		  DiacriticsDB.Value("0033")="0033"		  DiacriticsDB.Value("0034")="0034"		  DiacriticsDB.Value("0035")="0035"		  DiacriticsDB.Value("0036")="0036"		  DiacriticsDB.Value("0037")="0037"		  DiacriticsDB.Value("0038")="0038"		  DiacriticsDB.Value("0039")="0039"		  		  DiacriticsDB.Value("003A")="003A"		  DiacriticsDB.Value("003A")=DiacriticsDB.Value("003A")+",0589"		  ReverseDiacriticsDB.Value("0589")="003A"		  DiacriticsDB.Value("003A")=DiacriticsDB.Value("003A")+",05C3"		  ReverseDiacriticsDB.Value("05C3")="003A"		  DiacriticsDB.Value("003A")=DiacriticsDB.Value("003A")+",2236"		  ReverseDiacriticsDB.Value("2236")="003A"		  DiacriticsDB.Value("003A")=DiacriticsDB.Value("003A")+",A789"		  ReverseDiacriticsDB.Value("A789")="003A"		  DiacriticsDB.Value("003B")="003B"		  DiacriticsDB.Value("003B")=DiacriticsDB.Value("003B")+",037E"		  ReverseDiacriticsDB.Value("037E")="003B"		  DiacriticsDB.Value("003B")=DiacriticsDB.Value("003B")+",061B"		  ReverseDiacriticsDB.Value("061B")="003B"		  DiacriticsDB.Value("003B")=DiacriticsDB.Value("003B")+",204F"		  ReverseDiacriticsDB.Value("204F")="003B"		  DiacriticsDB.Value("003C")="003C"		  DiacriticsDB.Value("003C")=DiacriticsDB.Value("003C")+",2039"		  ReverseDiacriticsDB.Value("2039")="003C"		  DiacriticsDB.Value("003C")=DiacriticsDB.Value("003C")+",2329"		  ReverseDiacriticsDB.Value("2329")="003C"		  DiacriticsDB.Value("003C")=DiacriticsDB.Value("003C")+",27E8"		  ReverseDiacriticsDB.Value("27E8")="003C"		  DiacriticsDB.Value("003C")=DiacriticsDB.Value("003C")+",3008"		  ReverseDiacriticsDB.Value("3008")="003C"		  DiacriticsDB.Value("003D")="003D"		  DiacriticsDB.Value("003D")=DiacriticsDB.Value("003D")+",2260"		  ReverseDiacriticsDB.Value("2260")="003D"		  DiacriticsDB.Value("003D")=DiacriticsDB.Value("003D")+",2261"		  ReverseDiacriticsDB.Value("2261")="003D"		  DiacriticsDB.Value("003D")=DiacriticsDB.Value("003D")+",A78A"		  ReverseDiacriticsDB.Value("A78A")="003D"		  DiacriticsDB.Value("003D")=DiacriticsDB.Value("003D")+",10190"		  ReverseDiacriticsDB.Value("10190")="003D"		  DiacriticsDB.Value("003E")="003E"		  DiacriticsDB.Value("003E")=DiacriticsDB.Value("003E")+",203A"		  ReverseDiacriticsDB.Value("203A")="003E"		  DiacriticsDB.Value("003E")=DiacriticsDB.Value("003E")+",232A"		  ReverseDiacriticsDB.Value("232A")="003E"		  DiacriticsDB.Value("003E")=DiacriticsDB.Value("003E")+",27E9"		  ReverseDiacriticsDB.Value("27E9")="003E"		  DiacriticsDB.Value("003E")=DiacriticsDB.Value("003E")+",3009"		  ReverseDiacriticsDB.Value("3009")="003E"		  DiacriticsDB.Value("003F")="003F"		  DiacriticsDB.Value("003F")=DiacriticsDB.Value("003F")+",00BF"		  ReverseDiacriticsDB.Value("00BF")="003F"		  DiacriticsDB.Value("003F")=DiacriticsDB.Value("003F")+",037E"		  ReverseDiacriticsDB.Value("037E")="003F"		  DiacriticsDB.Value("003F")=DiacriticsDB.Value("003F")+",061F"		  ReverseDiacriticsDB.Value("061F")="003F"		  DiacriticsDB.Value("003F")=DiacriticsDB.Value("003F")+",203D"		  ReverseDiacriticsDB.Value("203D")="003F"		  DiacriticsDB.Value("003F")=DiacriticsDB.Value("003F")+",2048"		  ReverseDiacriticsDB.Value("2048")="003F"		  DiacriticsDB.Value("003F")=DiacriticsDB.Value("003F")+",2049"		  ReverseDiacriticsDB.Value("2049")="003F"		  DiacriticsDB.Value("0040")="0040"		  		  DiacriticsDB.Value("0041")="0041"		  DiacriticsDB.Value("0042")="0042"		  DiacriticsDB.Value("0042")=DiacriticsDB.Value("0042")+",212C"		  ReverseDiacriticsDB.Value("212C")="0042"		  DiacriticsDB.Value("0043")="0043"		  DiacriticsDB.Value("0043")=DiacriticsDB.Value("0043")+",2102"		  ReverseDiacriticsDB.Value("2102")="0043"		  DiacriticsDB.Value("0043")=DiacriticsDB.Value("0043")+",212D"		  ReverseDiacriticsDB.Value("212D")="0043"		  DiacriticsDB.Value("0044")="0044"		  DiacriticsDB.Value("0045")="0045"		  DiacriticsDB.Value("0045")=DiacriticsDB.Value("0045")+",2107"		  ReverseDiacriticsDB.Value("2107")="0045"		  DiacriticsDB.Value("0045")=DiacriticsDB.Value("0045")+",2130"		  ReverseDiacriticsDB.Value("2130")="0045"		  DiacriticsDB.Value("0046")="0046"		  DiacriticsDB.Value("0046")=DiacriticsDB.Value("0046")+",2131"		  ReverseDiacriticsDB.Value("2131")="0046"		  DiacriticsDB.Value("0046")=DiacriticsDB.Value("0046")+",2132"		  ReverseDiacriticsDB.Value("2132")="0046"		  DiacriticsDB.Value("0047")="0047"		  DiacriticsDB.Value("0048")="0048"		  DiacriticsDB.Value("0048")=DiacriticsDB.Value("0048")+",210B"		  ReverseDiacriticsDB.Value("210B")="0048"		  DiacriticsDB.Value("0048")=DiacriticsDB.Value("0048")+",210C"		  ReverseDiacriticsDB.Value("210C")="0048"		  DiacriticsDB.Value("0048")=DiacriticsDB.Value("0048")+",210D"		  ReverseDiacriticsDB.Value("210D")="0048"		  DiacriticsDB.Value("0049")="0049"		  DiacriticsDB.Value("0049")=DiacriticsDB.Value("0049")+",0130"		  ReverseDiacriticsDB.Value("0130")="0049"		  DiacriticsDB.Value("0049")=DiacriticsDB.Value("0049")+",0406"		  ReverseDiacriticsDB.Value("0406")="0049"		  DiacriticsDB.Value("0049")=DiacriticsDB.Value("0049")+",04C0"		  ReverseDiacriticsDB.Value("04C0")="0049"		  DiacriticsDB.Value("0049")=DiacriticsDB.Value("0049")+",2110"		  ReverseDiacriticsDB.Value("2110")="0049"		  DiacriticsDB.Value("0049")=DiacriticsDB.Value("0049")+",2111"		  ReverseDiacriticsDB.Value("2111")="0049"		  DiacriticsDB.Value("0049")=DiacriticsDB.Value("0049")+",2160"		  ReverseDiacriticsDB.Value("2160")="0049"		  DiacriticsDB.Value("004A")="004A"		  DiacriticsDB.Value("004B")="004B"		  DiacriticsDB.Value("004B")=DiacriticsDB.Value("004B")+",212A"		  ReverseDiacriticsDB.Value("212A")="004B"		  DiacriticsDB.Value("004C")="004C"		  DiacriticsDB.Value("004C")=DiacriticsDB.Value("004C")+",2112"		  ReverseDiacriticsDB.Value("2112")="004C"		  DiacriticsDB.Value("004D")="004D"		  DiacriticsDB.Value("004D")=DiacriticsDB.Value("004D")+",2133"		  ReverseDiacriticsDB.Value("2133")="004D"		  DiacriticsDB.Value("004E")="004E"		  DiacriticsDB.Value("004E")=DiacriticsDB.Value("004E")+",2115"		  ReverseDiacriticsDB.Value("2115")="004E"		  DiacriticsDB.Value("004F")="004F"		  DiacriticsDB.Value("0050")="0050"		  DiacriticsDB.Value("0050")=DiacriticsDB.Value("0050")+",2119"		  ReverseDiacriticsDB.Value("2119")="0050"		  DiacriticsDB.Value("0051")="0051"		  DiacriticsDB.Value("0051")=DiacriticsDB.Value("0051")+",211A"		  ReverseDiacriticsDB.Value("211A")="0051"		  DiacriticsDB.Value("0052")="0052"		  DiacriticsDB.Value("0052")=DiacriticsDB.Value("0052")+",211B"		  ReverseDiacriticsDB.Value("211B")="0052"		  DiacriticsDB.Value("0052")=DiacriticsDB.Value("0052")+",211C"		  ReverseDiacriticsDB.Value("211C")="0052"		  DiacriticsDB.Value("0052")=DiacriticsDB.Value("0052")+",211D"		  ReverseDiacriticsDB.Value("211D")="0052"		  DiacriticsDB.Value("0053")="0053"		  DiacriticsDB.Value("0054")="0054"		  DiacriticsDB.Value("0055")="0055"		  DiacriticsDB.Value("0056")="0056"		  DiacriticsDB.Value("0056")=DiacriticsDB.Value("0056")+",2164"		  ReverseDiacriticsDB.Value("2164")="0056"		  DiacriticsDB.Value("0057")="0057"		  DiacriticsDB.Value("0058")="0058"		  DiacriticsDB.Value("0059")="0059"		  DiacriticsDB.Value("005A")="005A"		  DiacriticsDB.Value("005A")=DiacriticsDB.Value("005A")+",2124"		  ReverseDiacriticsDB.Value("2124")="005A"		  DiacriticsDB.Value("005A")=DiacriticsDB.Value("005A")+",2128"		  ReverseDiacriticsDB.Value("2128")="005A"		  		  DiacriticsDB.Value("005B")="005B"		  DiacriticsDB.Value("005C")="005C"		  DiacriticsDB.Value("005C")=DiacriticsDB.Value("005C")+",20E5"		  ReverseDiacriticsDB.Value("20E5")="005C"		  DiacriticsDB.Value("005C")=DiacriticsDB.Value("005C")+",2216"		  ReverseDiacriticsDB.Value("2216")="005C"		  DiacriticsDB.Value("005D")="005D"		  DiacriticsDB.Value("005E")="005E"		  DiacriticsDB.Value("005E")=DiacriticsDB.Value("005E")+",02C4"		  ReverseDiacriticsDB.Value("02C4")="005E"		  DiacriticsDB.Value("005E")=DiacriticsDB.Value("005E")+",02C6"		  ReverseDiacriticsDB.Value("02C6")="005E"		  DiacriticsDB.Value("005E")=DiacriticsDB.Value("005E")+",0302"		  ReverseDiacriticsDB.Value("0302")="005E"		  DiacriticsDB.Value("005E")=DiacriticsDB.Value("005E")+",2038"		  ReverseDiacriticsDB.Value("2038")="005E"		  DiacriticsDB.Value("005E")=DiacriticsDB.Value("005E")+",2303"		  ReverseDiacriticsDB.Value("2303")="005E"		  DiacriticsDB.Value("005F")="005F"		  DiacriticsDB.Value("005F")=DiacriticsDB.Value("005F")+",02CD"		  ReverseDiacriticsDB.Value("02CD")="005F"		  DiacriticsDB.Value("005F")=DiacriticsDB.Value("005F")+",0331"		  ReverseDiacriticsDB.Value("0331")="005F"		  DiacriticsDB.Value("005F")=DiacriticsDB.Value("005F")+",0332"		  ReverseDiacriticsDB.Value("0332")="005F"		  DiacriticsDB.Value("005F")=DiacriticsDB.Value("005F")+",2017"		  ReverseDiacriticsDB.Value("2017")="005F"		  DiacriticsDB.Value("0060")="0060"		  DiacriticsDB.Value("0060")=DiacriticsDB.Value("0060")+",02CB"		  ReverseDiacriticsDB.Value("02CB")="0060"		  DiacriticsDB.Value("0060")=DiacriticsDB.Value("0060")+",0300"		  ReverseDiacriticsDB.Value("0300")="0060"		  DiacriticsDB.Value("0060")=DiacriticsDB.Value("0060")+",2035"		  ReverseDiacriticsDB.Value("2035")="0060"		  		  DiacriticsDB.Value("0061")="0061"		  DiacriticsDB.Value("0062")="0062"		  DiacriticsDB.Value("0063")="0063"		  DiacriticsDB.Value("0064")="0064"		  DiacriticsDB.Value("0065")="0065"		  DiacriticsDB.Value("0065")=DiacriticsDB.Value("0065")+",212E"		  ReverseDiacriticsDB.Value("212E")="0065"		  DiacriticsDB.Value("0065")=DiacriticsDB.Value("0065")+",212F"		  ReverseDiacriticsDB.Value("212F")="0065"		  DiacriticsDB.Value("0066")="0066"		  DiacriticsDB.Value("0067")="0067"		  DiacriticsDB.Value("0067")=DiacriticsDB.Value("0067")+",0261"		  ReverseDiacriticsDB.Value("0261")="0067"		  DiacriticsDB.Value("0067")=DiacriticsDB.Value("0067")+",210A"		  ReverseDiacriticsDB.Value("210A")="0067"		  DiacriticsDB.Value("0068")="0068"		  DiacriticsDB.Value("0068")=DiacriticsDB.Value("0068")+",04BB"		  ReverseDiacriticsDB.Value("04BB")="0068"		  DiacriticsDB.Value("0068")=DiacriticsDB.Value("0068")+",210E"		  ReverseDiacriticsDB.Value("210E")="0068"		  DiacriticsDB.Value("0069")="0069"		  DiacriticsDB.Value("0069")=DiacriticsDB.Value("0069")+",0131"		  ReverseDiacriticsDB.Value("0131")="0069"		  DiacriticsDB.Value("0069")=DiacriticsDB.Value("0069")+",1D6A4"		  ReverseDiacriticsDB.Value("1D6A4")="0069"		  DiacriticsDB.Value("006A")="006A"		  DiacriticsDB.Value("006A")=DiacriticsDB.Value("006A")+",0237"		  ReverseDiacriticsDB.Value("0237")="006A"		  DiacriticsDB.Value("006A")=DiacriticsDB.Value("006A")+",1D6A5"		  ReverseDiacriticsDB.Value("1D6A5")="006A"		  DiacriticsDB.Value("006B")="006B"		  DiacriticsDB.Value("006C")="006C"		  DiacriticsDB.Value("006C")=DiacriticsDB.Value("006C")+",2113"		  ReverseDiacriticsDB.Value("2113")="006C"		  DiacriticsDB.Value("006C")=DiacriticsDB.Value("006C")+",1D4C1"		  ReverseDiacriticsDB.Value("1D4C1")="006C"		  DiacriticsDB.Value("006D")="006D"		  DiacriticsDB.Value("006E")="006E"		  DiacriticsDB.Value("006E")=DiacriticsDB.Value("006E")+",207F"		  ReverseDiacriticsDB.Value("207F")="006E"		  DiacriticsDB.Value("006F")="006F"		  DiacriticsDB.Value("006F")=DiacriticsDB.Value("006F")+",2134"		  ReverseDiacriticsDB.Value("2134")="006F"		  DiacriticsDB.Value("0070")="0070"		  DiacriticsDB.Value("0071")="0071"		  DiacriticsDB.Value("0072")="0072"		  DiacriticsDB.Value("0073")="0073"		  DiacriticsDB.Value("0074")="0074"		  DiacriticsDB.Value("0075")="0075"		  DiacriticsDB.Value("0076")="0076"		  DiacriticsDB.Value("0077")="0077"		  DiacriticsDB.Value("0078")="0078"		  DiacriticsDB.Value("0079")="0079"		  DiacriticsDB.Value("007A")="007A"		  DiacriticsDB.Value("007A")=DiacriticsDB.Value("007A")+",01B6"		  ReverseDiacriticsDB.Value("01B6")="007A"		  		  DiacriticsDB.Value("007B")="007B"		  DiacriticsDB.Value("007C")="007C"		  DiacriticsDB.Value("007C")=DiacriticsDB.Value("007C")+",01C0"		  ReverseDiacriticsDB.Value("01C0")="007C"		  DiacriticsDB.Value("007C")=DiacriticsDB.Value("007C")+",05C0"		  ReverseDiacriticsDB.Value("05C0")="007C"		  DiacriticsDB.Value("007C")=DiacriticsDB.Value("007C")+",2223"		  ReverseDiacriticsDB.Value("2223")="007C"		  DiacriticsDB.Value("007C")=DiacriticsDB.Value("007C")+",2758"		  ReverseDiacriticsDB.Value("2758")="007C"		  DiacriticsDB.Value("007D")="007D"		  DiacriticsDB.Value("007E")="007E"		  DiacriticsDB.Value("007E")=DiacriticsDB.Value("007E")+",02DC"		  ReverseDiacriticsDB.Value("02DC")="007E"		  DiacriticsDB.Value("007E")=DiacriticsDB.Value("007E")+",0303"		  ReverseDiacriticsDB.Value("0303")="007E"		  DiacriticsDB.Value("007E")=DiacriticsDB.Value("007E")+",2053"		  ReverseDiacriticsDB.Value("2053")="007E"		  DiacriticsDB.Value("007E")=DiacriticsDB.Value("007E")+",223C"		  ReverseDiacriticsDB.Value("223C")="007E"		  DiacriticsDB.Value("007E")=DiacriticsDB.Value("007E")+",FF5E"		  ReverseDiacriticsDB.Value("FF5E")="007E"		  		  DiacriticsDB.Value("007F")="007F"		  		  Dim i As Integer		  Dim s As String		  // Build base digits db		  For i=0 to 9		    s=HexMin(48+i,4)		    ReverseDiacriticsDB.Value(s)=s		  Next		  		  BuildDigitsDB()		  		  		  DiacriticsDB.Value("0040")="0040"		  Dim t As String		  		  // Half-width/full-width forms		  // Japanese		  For i=1 to 32		    s=RightB("000"+Hex(&Hff00+i), 4)		    t="00"+Hex(32+i)		    DiacriticsDB.Value(t)=DiacriticsDB.Value(t)+","+s		    ReverseDiacriticsDB.Value(s)=t		  Next		  		  For i=11 to 16		    s=RightB("000"+Hex(&Hff30+i), 4)		    t="00"+Hex(80+i)		    DiacriticsDB.Value(t)=DiacriticsDB.Value(t)+","+s		    ReverseDiacriticsDB.Value(s)=t		  Next		  		  For i=11 to 14		    s=RightB("000"+Hex(&Hff50+i), 4)		    t="00"+Hex(112+i)		    DiacriticsDB.Value(t)=DiacriticsDB.Value(t)+","+s		    ReverseDiacriticsDB.Value(s)=t		  Next		  		  		  		  		  		  		  // Diacs		  DiacriticsDB.Value("002C")="055D"		  ReverseDiacriticsDB.Value("055D")="002C"		  DiacriticsDB.Value("002C")="060C"		  ReverseDiacriticsDB.Value("060C")="002C"		  DiacriticsDB.Value("002C")="07F8"		  ReverseDiacriticsDB.Value("07F8")="002C"		  DiacriticsDB.Value("002C")="1363"		  ReverseDiacriticsDB.Value("1363")="002C"		  DiacriticsDB.Value("002C")="1802"		  ReverseDiacriticsDB.Value("1802")="002C"		  DiacriticsDB.Value("002C")="3001"		  ReverseDiacriticsDB.Value("3001")="002C"		  DiacriticsDB.Value("002C")="A60D"		  ReverseDiacriticsDB.Value("A60D")="002C"		  DiacriticsDB.Value("002C")="FE50"		  ReverseDiacriticsDB.Value("FE50")="002C"		  DiacriticsDB.Value("002C")="FF0C"		  ReverseDiacriticsDB.Value("FF0C")="002C"		  DiacriticsDB.Value("002C")="E002C"		  ReverseDiacriticsDB.Value("E002C")="002C"		  DiacriticsDB.Value("002E")="002E"		  ReverseDiacriticsDB.Value("002E")="002E"		  DiacriticsDB.Value("003A")="1365"		  ReverseDiacriticsDB.Value("1365")="003A"		  DiacriticsDB.Value("003A")="1804"		  ReverseDiacriticsDB.Value("1804")="003A"		  DiacriticsDB.Value("003A")="2255"		  ReverseDiacriticsDB.Value("2255")="003A"		  DiacriticsDB.Value("003A")="FE55"		  ReverseDiacriticsDB.Value("FE55")="003A"		  DiacriticsDB.Value("003A")="FF1A"		  ReverseDiacriticsDB.Value("FF1A")="003A"		  DiacriticsDB.Value("003A")="E003A"		  ReverseDiacriticsDB.Value("E003A")="003A"		  DiacriticsDB.Value("003B")="061B"		  ReverseDiacriticsDB.Value("061B")="003B"		  DiacriticsDB.Value("003B")="1364"		  ReverseDiacriticsDB.Value("1364")="003B"		  DiacriticsDB.Value("003B")="204F"		  ReverseDiacriticsDB.Value("204F")="003B"		  DiacriticsDB.Value("003B")="FE54"		  ReverseDiacriticsDB.Value("FE54")="003B"		  DiacriticsDB.Value("003B")="FF1B"		  ReverseDiacriticsDB.Value("FF1B")="003B"		  DiacriticsDB.Value("003B")="E003B"		  ReverseDiacriticsDB.Value("E003B")="003B"		  		End Sub	#tag EndMethod	#tag Method, Flags = &h0		Sub BuildDigitsDB()		  Dim s As String		  // Digits		  DiacriticsDB.Value("0030")="0030"		  		  // Han digits		  s=HexMin(Asc(ConvertEncoding("零", Encodings.UTF16)),4)		  DiacriticsDB.Value("0030")=DiacriticsDB.Value("0030")+","+s		  ReverseDiacriticsDB.Value(s)="0030"		  		  DiacriticsDB.Value("0030")=DiacriticsDB.Value("0030")+",0660"		  ReverseDiacriticsDB.Value("0660")="0030"		  DiacriticsDB.Value("0030")=DiacriticsDB.Value("0030")+",06F0"		  ReverseDiacriticsDB.Value("06F0")="0030"		  DiacriticsDB.Value("0030")=DiacriticsDB.Value("0030")+",07C0"		  ReverseDiacriticsDB.Value("07C0")="0030"		  DiacriticsDB.Value("0030")=DiacriticsDB.Value("0030")+",0966"		  ReverseDiacriticsDB.Value("0966")="0030"		  DiacriticsDB.Value("0030")=DiacriticsDB.Value("0030")+",09E6"		  ReverseDiacriticsDB.Value("09E6")="0030"		  DiacriticsDB.Value("0030")=DiacriticsDB.Value("0030")+",0A66"		  ReverseDiacriticsDB.Value("0A66")="0030"		  DiacriticsDB.Value("0030")=DiacriticsDB.Value("0030")+",0AE6"		  ReverseDiacriticsDB.Value("0AE6")="0030"		  DiacriticsDB.Value("0030")=DiacriticsDB.Value("0030")+",0B66"		  ReverseDiacriticsDB.Value("0B66")="0030"		  DiacriticsDB.Value("0030")=DiacriticsDB.Value("0030")+",0BE6"		  ReverseDiacriticsDB.Value("0BE6")="0030"		  DiacriticsDB.Value("0030")=DiacriticsDB.Value("0030")+",0C66"		  ReverseDiacriticsDB.Value("0C66")="0030"		  DiacriticsDB.Value("0030")=DiacriticsDB.Value("0030")+",0CE6"		  ReverseDiacriticsDB.Value("0CE6")="0030"		  DiacriticsDB.Value("0030")=DiacriticsDB.Value("0030")+",0D66"		  ReverseDiacriticsDB.Value("0D66")="0030"		  DiacriticsDB.Value("0030")=DiacriticsDB.Value("0030")+",0E50"		  ReverseDiacriticsDB.Value("0E50")="0030"		  DiacriticsDB.Value("0030")=DiacriticsDB.Value("0030")+",0ED0"		  ReverseDiacriticsDB.Value("0ED0")="0030"		  DiacriticsDB.Value("0030")=DiacriticsDB.Value("0030")+",0F20"		  ReverseDiacriticsDB.Value("0F20")="0030"		  DiacriticsDB.Value("0030")=DiacriticsDB.Value("0030")+",1040"		  ReverseDiacriticsDB.Value("1040")="0030"		  DiacriticsDB.Value("0030")=DiacriticsDB.Value("0030")+",1090"		  ReverseDiacriticsDB.Value("1090")="0030"		  DiacriticsDB.Value("0030")=DiacriticsDB.Value("0030")+",17E0"		  ReverseDiacriticsDB.Value("17E0")="0030"		  DiacriticsDB.Value("0030")=DiacriticsDB.Value("0030")+",1810"		  ReverseDiacriticsDB.Value("1810")="0030"		  DiacriticsDB.Value("0030")=DiacriticsDB.Value("0030")+",1946"		  ReverseDiacriticsDB.Value("1946")="0030"		  DiacriticsDB.Value("0030")=DiacriticsDB.Value("0030")+",19D0"		  ReverseDiacriticsDB.Value("19D0")="0030"		  DiacriticsDB.Value("0030")=DiacriticsDB.Value("0030")+",1A80"		  ReverseDiacriticsDB.Value("1A80")="0030"		  DiacriticsDB.Value("0030")=DiacriticsDB.Value("0030")+",1A90"		  ReverseDiacriticsDB.Value("1A90")="0030"		  DiacriticsDB.Value("0030")=DiacriticsDB.Value("0030")+",1B50"		  ReverseDiacriticsDB.Value("1B50")="0030"		  DiacriticsDB.Value("0030")=DiacriticsDB.Value("0030")+",1BB0"		  ReverseDiacriticsDB.Value("1BB0")="0030"		  DiacriticsDB.Value("0030")=DiacriticsDB.Value("0030")+",1C40"		  ReverseDiacriticsDB.Value("1C40")="0030"		  DiacriticsDB.Value("0030")=DiacriticsDB.Value("0030")+",1C50"		  ReverseDiacriticsDB.Value("1C50")="0030"		  DiacriticsDB.Value("0030")=DiacriticsDB.Value("0030")+",24EA"		  ReverseDiacriticsDB.Value("24EA")="0030"		  DiacriticsDB.Value("0030")=DiacriticsDB.Value("0030")+",24FF"		  ReverseDiacriticsDB.Value("24FF")="0030"		  DiacriticsDB.Value("0030")=DiacriticsDB.Value("0030")+",A620"		  ReverseDiacriticsDB.Value("A620")="0030"		  DiacriticsDB.Value("0030")=DiacriticsDB.Value("0030")+",A8D0"		  ReverseDiacriticsDB.Value("A8D0")="0030"		  DiacriticsDB.Value("0030")=DiacriticsDB.Value("0030")+",A900"		  ReverseDiacriticsDB.Value("A900")="0030"		  DiacriticsDB.Value("0030")=DiacriticsDB.Value("0030")+",AA50"		  ReverseDiacriticsDB.Value("AA50")="0030"		  DiacriticsDB.Value("0030")=DiacriticsDB.Value("0030")+",FF10"		  ReverseDiacriticsDB.Value("FF10")="0030"		  DiacriticsDB.Value("0030")=DiacriticsDB.Value("0030")+",104A0"		  ReverseDiacriticsDB.Value("104A0")="0030"		  DiacriticsDB.Value("0030")=DiacriticsDB.Value("0030")+",1D7CE"		  ReverseDiacriticsDB.Value("1D7CE")="0030"		  DiacriticsDB.Value("0030")=DiacriticsDB.Value("0030")+",1D7D8"		  ReverseDiacriticsDB.Value("1D7D8")="0030"		  DiacriticsDB.Value("0030")=DiacriticsDB.Value("0030")+",1D7E2"		  ReverseDiacriticsDB.Value("1D7E2")="0030"		  DiacriticsDB.Value("0030")=DiacriticsDB.Value("0030")+",1D7EC"		  ReverseDiacriticsDB.Value("1D7EC")="0030"		  DiacriticsDB.Value("0030")=DiacriticsDB.Value("0030")+",1D7F6"		  ReverseDiacriticsDB.Value("1D7F6")="0030"		  DiacriticsDB.Value("0030")=DiacriticsDB.Value("0030")+",E0030"		  ReverseDiacriticsDB.Value("E0030")="0030"		  		  DiacriticsDB.Value("0031")="0031"		  		  // Han digits		  s=HexMin(Asc(ConvertEncoding("一", Encodings.UTF16)),4)		  DiacriticsDB.Value("0031")=DiacriticsDB.Value("0031")+","+s		  ReverseDiacriticsDB.Value(s)="0031"		  s=HexMin(Asc(ConvertEncoding("壹", Encodings.UTF16)),4)		  DiacriticsDB.Value("0031")=DiacriticsDB.Value("0031")+","+s		  ReverseDiacriticsDB.Value(s)="0031"		  s=HexMin(Asc(ConvertEncoding("弌", Encodings.UTF16)),4)		  DiacriticsDB.Value("0031")=DiacriticsDB.Value("0031")+","+s		  ReverseDiacriticsDB.Value(s)="0031"		  		  DiacriticsDB.Value("0031")=DiacriticsDB.Value("0031")+",0661"		  ReverseDiacriticsDB.Value("0661")="0031"		  DiacriticsDB.Value("0031")=DiacriticsDB.Value("0031")+",06F1"		  ReverseDiacriticsDB.Value("06F1")="0031"		  DiacriticsDB.Value("0031")=DiacriticsDB.Value("0031")+",07C1"		  ReverseDiacriticsDB.Value("07C1")="0031"		  DiacriticsDB.Value("0031")=DiacriticsDB.Value("0031")+",0967"		  ReverseDiacriticsDB.Value("0967")="0031"		  DiacriticsDB.Value("0031")=DiacriticsDB.Value("0031")+",09E7"		  ReverseDiacriticsDB.Value("09E7")="0031"		  DiacriticsDB.Value("0031")=DiacriticsDB.Value("0031")+",0A67"		  ReverseDiacriticsDB.Value("0A67")="0031"		  DiacriticsDB.Value("0031")=DiacriticsDB.Value("0031")+",0AE7"		  ReverseDiacriticsDB.Value("0AE7")="0031"		  DiacriticsDB.Value("0031")=DiacriticsDB.Value("0031")+",0B67"		  ReverseDiacriticsDB.Value("0B67")="0031"		  DiacriticsDB.Value("0031")=DiacriticsDB.Value("0031")+",0BE7"		  ReverseDiacriticsDB.Value("0BE7")="0031"		  DiacriticsDB.Value("0031")=DiacriticsDB.Value("0031")+",0C67"		  ReverseDiacriticsDB.Value("0C67")="0031"		  DiacriticsDB.Value("0031")=DiacriticsDB.Value("0031")+",0CE7"		  ReverseDiacriticsDB.Value("0CE7")="0031"		  DiacriticsDB.Value("0031")=DiacriticsDB.Value("0031")+",0D67"		  ReverseDiacriticsDB.Value("0D67")="0031"		  DiacriticsDB.Value("0031")=DiacriticsDB.Value("0031")+",0E51"		  ReverseDiacriticsDB.Value("0E51")="0031"		  DiacriticsDB.Value("0031")=DiacriticsDB.Value("0031")+",0ED1"		  ReverseDiacriticsDB.Value("0ED1")="0031"		  DiacriticsDB.Value("0031")=DiacriticsDB.Value("0031")+",0F21"		  ReverseDiacriticsDB.Value("0F21")="0031"		  DiacriticsDB.Value("0031")=DiacriticsDB.Value("0031")+",1041"		  ReverseDiacriticsDB.Value("1041")="0031"		  DiacriticsDB.Value("0031")=DiacriticsDB.Value("0031")+",1091"		  ReverseDiacriticsDB.Value("1091")="0031"		  DiacriticsDB.Value("0031")=DiacriticsDB.Value("0031")+",1369"		  ReverseDiacriticsDB.Value("1369")="0031"		  DiacriticsDB.Value("0031")=DiacriticsDB.Value("0031")+",17E1"		  ReverseDiacriticsDB.Value("17E1")="0031"		  DiacriticsDB.Value("0031")=DiacriticsDB.Value("0031")+",1811"		  ReverseDiacriticsDB.Value("1811")="0031"		  DiacriticsDB.Value("0031")=DiacriticsDB.Value("0031")+",1947"		  ReverseDiacriticsDB.Value("1947")="0031"		  DiacriticsDB.Value("0031")=DiacriticsDB.Value("0031")+",19D1"		  ReverseDiacriticsDB.Value("19D1")="0031"		  DiacriticsDB.Value("0031")=DiacriticsDB.Value("0031")+",1A81"		  ReverseDiacriticsDB.Value("1A81")="0031"		  DiacriticsDB.Value("0031")=DiacriticsDB.Value("0031")+",1A91"		  ReverseDiacriticsDB.Value("1A91")="0031"		  DiacriticsDB.Value("0031")=DiacriticsDB.Value("0031")+",1B51"		  ReverseDiacriticsDB.Value("1B51")="0031"		  DiacriticsDB.Value("0031")=DiacriticsDB.Value("0031")+",1BB1"		  ReverseDiacriticsDB.Value("1BB1")="0031"		  DiacriticsDB.Value("0031")=DiacriticsDB.Value("0031")+",1C41"		  ReverseDiacriticsDB.Value("1C41")="0031"		  DiacriticsDB.Value("0031")=DiacriticsDB.Value("0031")+",1C51"		  ReverseDiacriticsDB.Value("1C51")="0031"		  DiacriticsDB.Value("0031")=DiacriticsDB.Value("0031")+",2460"		  ReverseDiacriticsDB.Value("2460")="0031"		  DiacriticsDB.Value("0031")=DiacriticsDB.Value("0031")+",2474"		  ReverseDiacriticsDB.Value("2474")="0031"		  DiacriticsDB.Value("0031")=DiacriticsDB.Value("0031")+",24F5"		  ReverseDiacriticsDB.Value("24F5")="0031"		  DiacriticsDB.Value("0031")=DiacriticsDB.Value("0031")+",2776"		  ReverseDiacriticsDB.Value("2776")="0031"		  DiacriticsDB.Value("0031")=DiacriticsDB.Value("0031")+",2780"		  ReverseDiacriticsDB.Value("2780")="0031"		  DiacriticsDB.Value("0031")=DiacriticsDB.Value("0031")+",278A"		  ReverseDiacriticsDB.Value("278A")="0031"		  DiacriticsDB.Value("0031")=DiacriticsDB.Value("0031")+",A621"		  ReverseDiacriticsDB.Value("A621")="0031"		  DiacriticsDB.Value("0031")=DiacriticsDB.Value("0031")+",A8D1"		  ReverseDiacriticsDB.Value("A8D1")="0031"		  DiacriticsDB.Value("0031")=DiacriticsDB.Value("0031")+",A901"		  ReverseDiacriticsDB.Value("A901")="0031"		  DiacriticsDB.Value("0031")=DiacriticsDB.Value("0031")+",AA51"		  ReverseDiacriticsDB.Value("AA51")="0031"		  DiacriticsDB.Value("0031")=DiacriticsDB.Value("0031")+",FF11"		  ReverseDiacriticsDB.Value("FF11")="0031"		  DiacriticsDB.Value("0031")=DiacriticsDB.Value("0031")+",104A1"		  ReverseDiacriticsDB.Value("104A1")="0031"		  DiacriticsDB.Value("0031")=DiacriticsDB.Value("0031")+",10A40"		  ReverseDiacriticsDB.Value("10A40")="0031"		  DiacriticsDB.Value("0031")=DiacriticsDB.Value("0031")+",1D360"		  ReverseDiacriticsDB.Value("1D360")="0031"		  DiacriticsDB.Value("0031")=DiacriticsDB.Value("0031")+",1D369"		  ReverseDiacriticsDB.Value("1D369")="0031"		  DiacriticsDB.Value("0031")=DiacriticsDB.Value("0031")+",1D7CF"		  ReverseDiacriticsDB.Value("1D7CF")="0031"		  DiacriticsDB.Value("0031")=DiacriticsDB.Value("0031")+",1D7D9"		  ReverseDiacriticsDB.Value("1D7D9")="0031"		  DiacriticsDB.Value("0031")=DiacriticsDB.Value("0031")+",1D7E3"		  ReverseDiacriticsDB.Value("1D7E3")="0031"		  DiacriticsDB.Value("0031")=DiacriticsDB.Value("0031")+",1D7ED"		  ReverseDiacriticsDB.Value("1D7ED")="0031"		  DiacriticsDB.Value("0031")=DiacriticsDB.Value("0031")+",1D7F7"		  ReverseDiacriticsDB.Value("1D7F7")="0031"		  DiacriticsDB.Value("0031")=DiacriticsDB.Value("0031")+",E0031"		  ReverseDiacriticsDB.Value("E0031")="0031"		  DiacriticsDB.Value("0031")=DiacriticsDB.Value("0031")+",2160"		  ReverseDiacriticsDB.Value("2160")="0031"		  DiacriticsDB.Value("0031")=DiacriticsDB.Value("0031")+",2170"		  ReverseDiacriticsDB.Value("2170")="0031"		  DiacriticsDB.Value("0031")=DiacriticsDB.Value("0031")+",3021"		  ReverseDiacriticsDB.Value("3021")="0031"		  DiacriticsDB.Value("0031")=DiacriticsDB.Value("0031")+",10320"		  ReverseDiacriticsDB.Value("10320")="0031"		  DiacriticsDB.Value("0032")="0032"		  		  // Han digits		  s=HexMin(Asc(ConvertEncoding("二", Encodings.UTF16)),4)		  DiacriticsDB.Value("0032")=DiacriticsDB.Value("0032")+","+s		  ReverseDiacriticsDB.Value(s)="0032"		  s=HexMin(Asc(ConvertEncoding("貳", Encodings.UTF16)),4)		  DiacriticsDB.Value("0032")=DiacriticsDB.Value("0032")+","+s		  ReverseDiacriticsDB.Value(s)="0032"		  s=HexMin(Asc(ConvertEncoding("贰", Encodings.UTF16)),4)		  DiacriticsDB.Value("0032")=DiacriticsDB.Value("0032")+","+s		  ReverseDiacriticsDB.Value(s)="0032"		  s=HexMin(Asc(ConvertEncoding("兩", Encodings.UTF16)),4)		  DiacriticsDB.Value("0032")=DiacriticsDB.Value("0032")+","+s		  ReverseDiacriticsDB.Value(s)="0032"		  s=HexMin(Asc(ConvertEncoding("两", Encodings.UTF16)),4)		  DiacriticsDB.Value("0032")=DiacriticsDB.Value("0032")+","+s		  ReverseDiacriticsDB.Value(s)="0032"		  		  DiacriticsDB.Value("0032")=DiacriticsDB.Value("0032")+",0662"		  ReverseDiacriticsDB.Value("0662")="0032"		  DiacriticsDB.Value("0032")=DiacriticsDB.Value("0032")+",06F2"		  ReverseDiacriticsDB.Value("06F2")="0032"		  DiacriticsDB.Value("0032")=DiacriticsDB.Value("0032")+",07C2"		  ReverseDiacriticsDB.Value("07C2")="0032"		  DiacriticsDB.Value("0032")=DiacriticsDB.Value("0032")+",0968"		  ReverseDiacriticsDB.Value("0968")="0032"		  DiacriticsDB.Value("0032")=DiacriticsDB.Value("0032")+",09E8"		  ReverseDiacriticsDB.Value("09E8")="0032"		  DiacriticsDB.Value("0032")=DiacriticsDB.Value("0032")+",0A68"		  ReverseDiacriticsDB.Value("0A68")="0032"		  DiacriticsDB.Value("0032")=DiacriticsDB.Value("0032")+",0AE8"		  ReverseDiacriticsDB.Value("0AE8")="0032"		  DiacriticsDB.Value("0032")=DiacriticsDB.Value("0032")+",0B68"		  ReverseDiacriticsDB.Value("0B68")="0032"		  DiacriticsDB.Value("0032")=DiacriticsDB.Value("0032")+",0BE8"		  ReverseDiacriticsDB.Value("0BE8")="0032"		  DiacriticsDB.Value("0032")=DiacriticsDB.Value("0032")+",0C68"		  ReverseDiacriticsDB.Value("0C68")="0032"		  DiacriticsDB.Value("0032")=DiacriticsDB.Value("0032")+",0CE8"		  ReverseDiacriticsDB.Value("0CE8")="0032"		  DiacriticsDB.Value("0032")=DiacriticsDB.Value("0032")+",0D68"		  ReverseDiacriticsDB.Value("0D68")="0032"		  DiacriticsDB.Value("0032")=DiacriticsDB.Value("0032")+",0E52"		  ReverseDiacriticsDB.Value("0E52")="0032"		  DiacriticsDB.Value("0032")=DiacriticsDB.Value("0032")+",0ED2"		  ReverseDiacriticsDB.Value("0ED2")="0032"		  DiacriticsDB.Value("0032")=DiacriticsDB.Value("0032")+",0F22"		  ReverseDiacriticsDB.Value("0F22")="0032"		  DiacriticsDB.Value("0032")=DiacriticsDB.Value("0032")+",1042"		  ReverseDiacriticsDB.Value("1042")="0032"		  DiacriticsDB.Value("0032")=DiacriticsDB.Value("0032")+",1092"		  ReverseDiacriticsDB.Value("1092")="0032"		  DiacriticsDB.Value("0032")=DiacriticsDB.Value("0032")+",136A"		  ReverseDiacriticsDB.Value("136A")="0032"		  DiacriticsDB.Value("0032")=DiacriticsDB.Value("0032")+",17E2"		  ReverseDiacriticsDB.Value("17E2")="0032"		  DiacriticsDB.Value("0032")=DiacriticsDB.Value("0032")+",1812"		  ReverseDiacriticsDB.Value("1812")="0032"		  DiacriticsDB.Value("0032")=DiacriticsDB.Value("0032")+",1948"		  ReverseDiacriticsDB.Value("1948")="0032"		  DiacriticsDB.Value("0032")=DiacriticsDB.Value("0032")+",19D2"		  ReverseDiacriticsDB.Value("19D2")="0032"		  DiacriticsDB.Value("0032")=DiacriticsDB.Value("0032")+",1A82"		  ReverseDiacriticsDB.Value("1A82")="0032"		  DiacriticsDB.Value("0032")=DiacriticsDB.Value("0032")+",1A92"		  ReverseDiacriticsDB.Value("1A92")="0032"		  DiacriticsDB.Value("0032")=DiacriticsDB.Value("0032")+",1B52"		  ReverseDiacriticsDB.Value("1B52")="0032"		  DiacriticsDB.Value("0032")=DiacriticsDB.Value("0032")+",1BB2"		  ReverseDiacriticsDB.Value("1BB2")="0032"		  DiacriticsDB.Value("0032")=DiacriticsDB.Value("0032")+",1C42"		  ReverseDiacriticsDB.Value("1C42")="0032"		  DiacriticsDB.Value("0032")=DiacriticsDB.Value("0032")+",1C52"		  ReverseDiacriticsDB.Value("1C52")="0032"		  DiacriticsDB.Value("0032")=DiacriticsDB.Value("0032")+",2461"		  ReverseDiacriticsDB.Value("2461")="0032"		  DiacriticsDB.Value("0032")=DiacriticsDB.Value("0032")+",2475"		  ReverseDiacriticsDB.Value("2475")="0032"		  DiacriticsDB.Value("0032")=DiacriticsDB.Value("0032")+",24F6"		  ReverseDiacriticsDB.Value("24F6")="0032"		  DiacriticsDB.Value("0032")=DiacriticsDB.Value("0032")+",2777"		  ReverseDiacriticsDB.Value("2777")="0032"		  DiacriticsDB.Value("0032")=DiacriticsDB.Value("0032")+",2781"		  ReverseDiacriticsDB.Value("2781")="0032"		  DiacriticsDB.Value("0032")=DiacriticsDB.Value("0032")+",278B"		  ReverseDiacriticsDB.Value("278B")="0032"		  DiacriticsDB.Value("0032")=DiacriticsDB.Value("0032")+",A622"		  ReverseDiacriticsDB.Value("A622")="0032"		  DiacriticsDB.Value("0032")=DiacriticsDB.Value("0032")+",A8D2"		  ReverseDiacriticsDB.Value("A8D2")="0032"		  DiacriticsDB.Value("0032")=DiacriticsDB.Value("0032")+",A902"		  ReverseDiacriticsDB.Value("A902")="0032"		  DiacriticsDB.Value("0032")=DiacriticsDB.Value("0032")+",AA52"		  ReverseDiacriticsDB.Value("AA52")="0032"		  DiacriticsDB.Value("0032")=DiacriticsDB.Value("0032")+",FF12"		  ReverseDiacriticsDB.Value("FF12")="0032"		  DiacriticsDB.Value("0032")=DiacriticsDB.Value("0032")+",104A2"		  ReverseDiacriticsDB.Value("104A2")="0032"		  DiacriticsDB.Value("0032")=DiacriticsDB.Value("0032")+",10A41"		  ReverseDiacriticsDB.Value("10A41")="0032"		  DiacriticsDB.Value("0032")=DiacriticsDB.Value("0032")+",1D361"		  ReverseDiacriticsDB.Value("1D361")="0032"		  DiacriticsDB.Value("0032")=DiacriticsDB.Value("0032")+",1D36A"		  ReverseDiacriticsDB.Value("1D36A")="0032"		  DiacriticsDB.Value("0032")=DiacriticsDB.Value("0032")+",1D7D0"		  ReverseDiacriticsDB.Value("1D7D0")="0032"		  DiacriticsDB.Value("0032")=DiacriticsDB.Value("0032")+",1D7DA"		  ReverseDiacriticsDB.Value("1D7DA")="0032"		  DiacriticsDB.Value("0032")=DiacriticsDB.Value("0032")+",1D7E4"		  ReverseDiacriticsDB.Value("1D7E4")="0032"		  DiacriticsDB.Value("0032")=DiacriticsDB.Value("0032")+",1D7EE"		  ReverseDiacriticsDB.Value("1D7EE")="0032"		  DiacriticsDB.Value("0032")=DiacriticsDB.Value("0032")+",1D7F8"		  ReverseDiacriticsDB.Value("1D7F8")="0032"		  DiacriticsDB.Value("0032")=DiacriticsDB.Value("0032")+",E0032"		  ReverseDiacriticsDB.Value("E0032")="0032"		  DiacriticsDB.Value("0032")=DiacriticsDB.Value("0032")+",2161"		  ReverseDiacriticsDB.Value("2161")="0032"		  DiacriticsDB.Value("0032")=DiacriticsDB.Value("0032")+",2171"		  ReverseDiacriticsDB.Value("2171")="0032"		  DiacriticsDB.Value("0032")=DiacriticsDB.Value("0032")+",3022"		  ReverseDiacriticsDB.Value("3022")="0032"		  		  DiacriticsDB.Value("0033")="0033"		  		  // Han digits		  s=HexMin(Asc(ConvertEncoding("三", Encodings.UTF16)),4)		  DiacriticsDB.Value("0033")=DiacriticsDB.Value("0033")+","+s		  ReverseDiacriticsDB.Value(s)="0033"		  s=HexMin(Asc(ConvertEncoding("參", Encodings.UTF16)),4)		  DiacriticsDB.Value("0033")=DiacriticsDB.Value("0033")+","+s		  ReverseDiacriticsDB.Value(s)="0033"		  s=HexMin(Asc(ConvertEncoding("叁", Encodings.UTF16)),4)		  DiacriticsDB.Value("0033")=DiacriticsDB.Value("0033")+","+s		  ReverseDiacriticsDB.Value(s)="0033"		  s=HexMin(Asc(ConvertEncoding("叄", Encodings.UTF16)),4)		  DiacriticsDB.Value("0033")=DiacriticsDB.Value("0033")+","+s		  ReverseDiacriticsDB.Value(s)="0033"		  s=HexMin(Asc(ConvertEncoding("弎", Encodings.UTF16)),4)		  DiacriticsDB.Value("0033")=DiacriticsDB.Value("0033")+","+s		  ReverseDiacriticsDB.Value(s)="0033"		  		  DiacriticsDB.Value("0033")=DiacriticsDB.Value("0033")+",0663"		  ReverseDiacriticsDB.Value("0663")="0033"		  DiacriticsDB.Value("0033")=DiacriticsDB.Value("0033")+",06F3"		  ReverseDiacriticsDB.Value("06F3")="0033"		  DiacriticsDB.Value("0033")=DiacriticsDB.Value("0033")+",07C3"		  ReverseDiacriticsDB.Value("07C3")="0033"		  DiacriticsDB.Value("0033")=DiacriticsDB.Value("0033")+",0969"		  ReverseDiacriticsDB.Value("0969")="0033"		  DiacriticsDB.Value("0033")=DiacriticsDB.Value("0033")+",09E9"		  ReverseDiacriticsDB.Value("09E9")="0033"		  DiacriticsDB.Value("0033")=DiacriticsDB.Value("0033")+",0A69"		  ReverseDiacriticsDB.Value("0A69")="0033"		  DiacriticsDB.Value("0033")=DiacriticsDB.Value("0033")+",0AE9"		  ReverseDiacriticsDB.Value("0AE9")="0033"		  DiacriticsDB.Value("0033")=DiacriticsDB.Value("0033")+",0B69"		  ReverseDiacriticsDB.Value("0B69")="0033"		  DiacriticsDB.Value("0033")=DiacriticsDB.Value("0033")+",0BE9"		  ReverseDiacriticsDB.Value("0BE9")="0033"		  DiacriticsDB.Value("0033")=DiacriticsDB.Value("0033")+",0C69"		  ReverseDiacriticsDB.Value("0C69")="0033"		  DiacriticsDB.Value("0033")=DiacriticsDB.Value("0033")+",0CE9"		  ReverseDiacriticsDB.Value("0CE9")="0033"		  DiacriticsDB.Value("0033")=DiacriticsDB.Value("0033")+",0D69"		  ReverseDiacriticsDB.Value("0D69")="0033"		  DiacriticsDB.Value("0033")=DiacriticsDB.Value("0033")+",0E53"		  ReverseDiacriticsDB.Value("0E53")="0033"		  DiacriticsDB.Value("0033")=DiacriticsDB.Value("0033")+",0ED3"		  ReverseDiacriticsDB.Value("0ED3")="0033"		  DiacriticsDB.Value("0033")=DiacriticsDB.Value("0033")+",0F23"		  ReverseDiacriticsDB.Value("0F23")="0033"		  DiacriticsDB.Value("0033")=DiacriticsDB.Value("0033")+",1043"		  ReverseDiacriticsDB.Value("1043")="0033"		  DiacriticsDB.Value("0033")=DiacriticsDB.Value("0033")+",1093"		  ReverseDiacriticsDB.Value("1093")="0033"		  DiacriticsDB.Value("0033")=DiacriticsDB.Value("0033")+",136B"		  ReverseDiacriticsDB.Value("136B")="0033"		  DiacriticsDB.Value("0033")=DiacriticsDB.Value("0033")+",17E3"		  ReverseDiacriticsDB.Value("17E3")="0033"		  DiacriticsDB.Value("0033")=DiacriticsDB.Value("0033")+",1813"		  ReverseDiacriticsDB.Value("1813")="0033"		  DiacriticsDB.Value("0033")=DiacriticsDB.Value("0033")+",1949"		  ReverseDiacriticsDB.Value("1949")="0033"		  DiacriticsDB.Value("0033")=DiacriticsDB.Value("0033")+",19D3"		  ReverseDiacriticsDB.Value("19D3")="0033"		  DiacriticsDB.Value("0033")=DiacriticsDB.Value("0033")+",1A83"		  ReverseDiacriticsDB.Value("1A83")="0033"		  DiacriticsDB.Value("0033")=DiacriticsDB.Value("0033")+",1A93"		  ReverseDiacriticsDB.Value("1A93")="0033"		  DiacriticsDB.Value("0033")=DiacriticsDB.Value("0033")+",1B53"		  ReverseDiacriticsDB.Value("1B53")="0033"		  DiacriticsDB.Value("0033")=DiacriticsDB.Value("0033")+",1BB3"		  ReverseDiacriticsDB.Value("1BB3")="0033"		  DiacriticsDB.Value("0033")=DiacriticsDB.Value("0033")+",1C43"		  ReverseDiacriticsDB.Value("1C43")="0033"		  DiacriticsDB.Value("0033")=DiacriticsDB.Value("0033")+",1C53"		  ReverseDiacriticsDB.Value("1C53")="0033"		  DiacriticsDB.Value("0033")=DiacriticsDB.Value("0033")+",2462"		  ReverseDiacriticsDB.Value("2462")="0033"		  DiacriticsDB.Value("0033")=DiacriticsDB.Value("0033")+",2476"		  ReverseDiacriticsDB.Value("2476")="0033"		  DiacriticsDB.Value("0033")=DiacriticsDB.Value("0033")+",24F7"		  ReverseDiacriticsDB.Value("24F7")="0033"		  DiacriticsDB.Value("0033")=DiacriticsDB.Value("0033")+",2778"		  ReverseDiacriticsDB.Value("2778")="0033"		  DiacriticsDB.Value("0033")=DiacriticsDB.Value("0033")+",2782"		  ReverseDiacriticsDB.Value("2782")="0033"		  DiacriticsDB.Value("0033")=DiacriticsDB.Value("0033")+",278C"		  ReverseDiacriticsDB.Value("278C")="0033"		  DiacriticsDB.Value("0033")=DiacriticsDB.Value("0033")+",A623"		  ReverseDiacriticsDB.Value("A623")="0033"		  DiacriticsDB.Value("0033")=DiacriticsDB.Value("0033")+",A8D3"		  ReverseDiacriticsDB.Value("A8D3")="0033"		  DiacriticsDB.Value("0033")=DiacriticsDB.Value("0033")+",A903"		  ReverseDiacriticsDB.Value("A903")="0033"		  DiacriticsDB.Value("0033")=DiacriticsDB.Value("0033")+",AA53"		  ReverseDiacriticsDB.Value("AA53")="0033"		  DiacriticsDB.Value("0033")=DiacriticsDB.Value("0033")+",FF13"		  ReverseDiacriticsDB.Value("FF13")="0033"		  DiacriticsDB.Value("0033")=DiacriticsDB.Value("0033")+",104A3"		  ReverseDiacriticsDB.Value("104A3")="0033"		  DiacriticsDB.Value("0033")=DiacriticsDB.Value("0033")+",10A42"		  ReverseDiacriticsDB.Value("10A42")="0033"		  DiacriticsDB.Value("0033")=DiacriticsDB.Value("0033")+",1D362"		  ReverseDiacriticsDB.Value("1D362")="0033"		  DiacriticsDB.Value("0033")=DiacriticsDB.Value("0033")+",1D36B"		  ReverseDiacriticsDB.Value("1D36B")="0033"		  DiacriticsDB.Value("0033")=DiacriticsDB.Value("0033")+",1D7D1"		  ReverseDiacriticsDB.Value("1D7D1")="0033"		  DiacriticsDB.Value("0033")=DiacriticsDB.Value("0033")+",1D7DB"		  ReverseDiacriticsDB.Value("1D7DB")="0033"		  DiacriticsDB.Value("0033")=DiacriticsDB.Value("0033")+",1D7E5"		  ReverseDiacriticsDB.Value("1D7E5")="0033"		  DiacriticsDB.Value("0033")=DiacriticsDB.Value("0033")+",1D7EF"		  ReverseDiacriticsDB.Value("1D7EF")="0033"		  DiacriticsDB.Value("0033")=DiacriticsDB.Value("0033")+",1D7F9"		  ReverseDiacriticsDB.Value("1D7F9")="0033"		  DiacriticsDB.Value("0033")=DiacriticsDB.Value("0033")+",E0033"		  ReverseDiacriticsDB.Value("E0033")="0033"		  DiacriticsDB.Value("0033")=DiacriticsDB.Value("0033")+",2162"		  ReverseDiacriticsDB.Value("2162")="0033"		  DiacriticsDB.Value("0033")=DiacriticsDB.Value("0033")+",2172"		  ReverseDiacriticsDB.Value("2172")="0033"		  DiacriticsDB.Value("0033")=DiacriticsDB.Value("0033")+",3023"		  ReverseDiacriticsDB.Value("3023")="0033"		  		  DiacriticsDB.Value("0034")="0034"		  		  // Han digits		  s=HexMin(Asc(ConvertEncoding("四", Encodings.UTF16)),4)		  DiacriticsDB.Value("0034")=DiacriticsDB.Value("0034")+","+s		  ReverseDiacriticsDB.Value(s)="0034"		  s=HexMin(Asc(ConvertEncoding("肆", Encodings.UTF16)),4)		  DiacriticsDB.Value("0034")=DiacriticsDB.Value("0034")+","+s		  ReverseDiacriticsDB.Value(s)="0034"		  		  DiacriticsDB.Value("0034")=DiacriticsDB.Value("0034")+",0664"		  ReverseDiacriticsDB.Value("0664")="0034"		  DiacriticsDB.Value("0034")=DiacriticsDB.Value("0034")+",06F4"		  ReverseDiacriticsDB.Value("06F4")="0034"		  DiacriticsDB.Value("0034")=DiacriticsDB.Value("0034")+",07C4"		  ReverseDiacriticsDB.Value("07C4")="0034"		  DiacriticsDB.Value("0034")=DiacriticsDB.Value("0034")+",096A"		  ReverseDiacriticsDB.Value("096A")="0034"		  DiacriticsDB.Value("0034")=DiacriticsDB.Value("0034")+",09EA"		  ReverseDiacriticsDB.Value("09EA")="0034"		  DiacriticsDB.Value("0034")=DiacriticsDB.Value("0034")+",0A6A"		  ReverseDiacriticsDB.Value("0A6A")="0034"		  DiacriticsDB.Value("0034")=DiacriticsDB.Value("0034")+",0AEA"		  ReverseDiacriticsDB.Value("0AEA")="0034"		  DiacriticsDB.Value("0034")=DiacriticsDB.Value("0034")+",0B6A"		  ReverseDiacriticsDB.Value("0B6A")="0034"		  DiacriticsDB.Value("0034")=DiacriticsDB.Value("0034")+",0BEA"		  ReverseDiacriticsDB.Value("0BEA")="0034"		  DiacriticsDB.Value("0034")=DiacriticsDB.Value("0034")+",0C6A"		  ReverseDiacriticsDB.Value("0C6A")="0034"		  DiacriticsDB.Value("0034")=DiacriticsDB.Value("0034")+",0CEA"		  ReverseDiacriticsDB.Value("0CEA")="0034"		  DiacriticsDB.Value("0034")=DiacriticsDB.Value("0034")+",0D6A"		  ReverseDiacriticsDB.Value("0D6A")="0034"		  DiacriticsDB.Value("0034")=DiacriticsDB.Value("0034")+",0E54"		  ReverseDiacriticsDB.Value("0E54")="0034"		  DiacriticsDB.Value("0034")=DiacriticsDB.Value("0034")+",0ED4"		  ReverseDiacriticsDB.Value("0ED4")="0034"		  DiacriticsDB.Value("0034")=DiacriticsDB.Value("0034")+",0F24"		  ReverseDiacriticsDB.Value("0F24")="0034"		  DiacriticsDB.Value("0034")=DiacriticsDB.Value("0034")+",1044"		  ReverseDiacriticsDB.Value("1044")="0034"		  DiacriticsDB.Value("0034")=DiacriticsDB.Value("0034")+",1094"		  ReverseDiacriticsDB.Value("1094")="0034"		  DiacriticsDB.Value("0034")=DiacriticsDB.Value("0034")+",136C"		  ReverseDiacriticsDB.Value("136C")="0034"		  DiacriticsDB.Value("0034")=DiacriticsDB.Value("0034")+",17E4"		  ReverseDiacriticsDB.Value("17E4")="0034"		  DiacriticsDB.Value("0034")=DiacriticsDB.Value("0034")+",1814"		  ReverseDiacriticsDB.Value("1814")="0034"		  DiacriticsDB.Value("0034")=DiacriticsDB.Value("0034")+",194A"		  ReverseDiacriticsDB.Value("194A")="0034"		  DiacriticsDB.Value("0034")=DiacriticsDB.Value("0034")+",19D4"		  ReverseDiacriticsDB.Value("19D4")="0034"		  DiacriticsDB.Value("0034")=DiacriticsDB.Value("0034")+",1A84"		  ReverseDiacriticsDB.Value("1A84")="0034"		  DiacriticsDB.Value("0034")=DiacriticsDB.Value("0034")+",1A94"		  ReverseDiacriticsDB.Value("1A94")="0034"		  DiacriticsDB.Value("0034")=DiacriticsDB.Value("0034")+",1B54"		  ReverseDiacriticsDB.Value("1B54")="0034"		  DiacriticsDB.Value("0034")=DiacriticsDB.Value("0034")+",1BB4"		  ReverseDiacriticsDB.Value("1BB4")="0034"		  DiacriticsDB.Value("0034")=DiacriticsDB.Value("0034")+",1C44"		  ReverseDiacriticsDB.Value("1C44")="0034"		  DiacriticsDB.Value("0034")=DiacriticsDB.Value("0034")+",1C54"		  ReverseDiacriticsDB.Value("1C54")="0034"		  DiacriticsDB.Value("0034")=DiacriticsDB.Value("0034")+",2463"		  ReverseDiacriticsDB.Value("2463")="0034"		  DiacriticsDB.Value("0034")=DiacriticsDB.Value("0034")+",2477"		  ReverseDiacriticsDB.Value("2477")="0034"		  DiacriticsDB.Value("0034")=DiacriticsDB.Value("0034")+",24F8"		  ReverseDiacriticsDB.Value("24F8")="0034"		  DiacriticsDB.Value("0034")=DiacriticsDB.Value("0034")+",2779"		  ReverseDiacriticsDB.Value("2779")="0034"		  DiacriticsDB.Value("0034")=DiacriticsDB.Value("0034")+",2783"		  ReverseDiacriticsDB.Value("2783")="0034"		  DiacriticsDB.Value("0034")=DiacriticsDB.Value("0034")+",278D"		  ReverseDiacriticsDB.Value("278D")="0034"		  DiacriticsDB.Value("0034")=DiacriticsDB.Value("0034")+",A624"		  ReverseDiacriticsDB.Value("A624")="0034"		  DiacriticsDB.Value("0034")=DiacriticsDB.Value("0034")+",A8D4"		  ReverseDiacriticsDB.Value("A8D4")="0034"		  DiacriticsDB.Value("0034")=DiacriticsDB.Value("0034")+",A904"		  ReverseDiacriticsDB.Value("A904")="0034"		  DiacriticsDB.Value("0034")=DiacriticsDB.Value("0034")+",AA54"		  ReverseDiacriticsDB.Value("AA54")="0034"		  DiacriticsDB.Value("0034")=DiacriticsDB.Value("0034")+",FF14"		  ReverseDiacriticsDB.Value("FF14")="0034"		  DiacriticsDB.Value("0034")=DiacriticsDB.Value("0034")+",104A4"		  ReverseDiacriticsDB.Value("104A4")="0034"		  DiacriticsDB.Value("0034")=DiacriticsDB.Value("0034")+",10A43"		  ReverseDiacriticsDB.Value("10A43")="0034"		  DiacriticsDB.Value("0034")=DiacriticsDB.Value("0034")+",1D363"		  ReverseDiacriticsDB.Value("1D363")="0034"		  DiacriticsDB.Value("0034")=DiacriticsDB.Value("0034")+",1D36C"		  ReverseDiacriticsDB.Value("1D36C")="0034"		  DiacriticsDB.Value("0034")=DiacriticsDB.Value("0034")+",1D7D2"		  ReverseDiacriticsDB.Value("1D7D2")="0034"		  DiacriticsDB.Value("0034")=DiacriticsDB.Value("0034")+",1D7DC"		  ReverseDiacriticsDB.Value("1D7DC")="0034"		  DiacriticsDB.Value("0034")=DiacriticsDB.Value("0034")+",1D7E6"		  ReverseDiacriticsDB.Value("1D7E6")="0034"		  DiacriticsDB.Value("0034")=DiacriticsDB.Value("0034")+",1D7F0"		  ReverseDiacriticsDB.Value("1D7F0")="0034"		  DiacriticsDB.Value("0034")=DiacriticsDB.Value("0034")+",1D7FA"		  ReverseDiacriticsDB.Value("1D7FA")="0034"		  DiacriticsDB.Value("0034")=DiacriticsDB.Value("0034")+",E0034"		  ReverseDiacriticsDB.Value("E0034")="0034"		  DiacriticsDB.Value("0034")=DiacriticsDB.Value("0034")+",2163"		  ReverseDiacriticsDB.Value("2163")="0034"		  DiacriticsDB.Value("0034")=DiacriticsDB.Value("0034")+",2173"		  ReverseDiacriticsDB.Value("2173")="0034"		  DiacriticsDB.Value("0034")=DiacriticsDB.Value("0034")+",3024"		  ReverseDiacriticsDB.Value("3024")="0034"		  		  DiacriticsDB.Value("0035")="0035"		  		  // Han digits		  s=HexMin(Asc(ConvertEncoding("五", Encodings.UTF16)),4)		  DiacriticsDB.Value("0035")=DiacriticsDB.Value("0035")+","+s		  ReverseDiacriticsDB.Value(s)="0035"		  s=HexMin(Asc(ConvertEncoding("伍", Encodings.UTF16)),4)		  DiacriticsDB.Value("0035")=DiacriticsDB.Value("0035")+","+s		  ReverseDiacriticsDB.Value(s)="0035"		  		  DiacriticsDB.Value("0035")=DiacriticsDB.Value("0035")+",0665"		  ReverseDiacriticsDB.Value("0665")="0035"		  DiacriticsDB.Value("0035")=DiacriticsDB.Value("0035")+",06F5"		  ReverseDiacriticsDB.Value("06F5")="0035"		  DiacriticsDB.Value("0035")=DiacriticsDB.Value("0035")+",07C5"		  ReverseDiacriticsDB.Value("07C5")="0035"		  DiacriticsDB.Value("0035")=DiacriticsDB.Value("0035")+",096B"		  ReverseDiacriticsDB.Value("096B")="0035"		  DiacriticsDB.Value("0035")=DiacriticsDB.Value("0035")+",09EB"		  ReverseDiacriticsDB.Value("09EB")="0035"		  DiacriticsDB.Value("0035")=DiacriticsDB.Value("0035")+",0A6B"		  ReverseDiacriticsDB.Value("0A6B")="0035"		  DiacriticsDB.Value("0035")=DiacriticsDB.Value("0035")+",0AEB"		  ReverseDiacriticsDB.Value("0AEB")="0035"		  DiacriticsDB.Value("0035")=DiacriticsDB.Value("0035")+",0B6B"		  ReverseDiacriticsDB.Value("0B6B")="0035"		  DiacriticsDB.Value("0035")=DiacriticsDB.Value("0035")+",0BEB"		  ReverseDiacriticsDB.Value("0BEB")="0035"		  DiacriticsDB.Value("0035")=DiacriticsDB.Value("0035")+",0C6B"		  ReverseDiacriticsDB.Value("0C6B")="0035"		  DiacriticsDB.Value("0035")=DiacriticsDB.Value("0035")+",0CEB"		  ReverseDiacriticsDB.Value("0CEB")="0035"		  DiacriticsDB.Value("0035")=DiacriticsDB.Value("0035")+",0D6B"		  ReverseDiacriticsDB.Value("0D6B")="0035"		  DiacriticsDB.Value("0035")=DiacriticsDB.Value("0035")+",0E55"		  ReverseDiacriticsDB.Value("0E55")="0035"		  DiacriticsDB.Value("0035")=DiacriticsDB.Value("0035")+",0ED5"		  ReverseDiacriticsDB.Value("0ED5")="0035"		  DiacriticsDB.Value("0035")=DiacriticsDB.Value("0035")+",0F25"		  ReverseDiacriticsDB.Value("0F25")="0035"		  DiacriticsDB.Value("0035")=DiacriticsDB.Value("0035")+",1045"		  ReverseDiacriticsDB.Value("1045")="0035"		  DiacriticsDB.Value("0035")=DiacriticsDB.Value("0035")+",1095"		  ReverseDiacriticsDB.Value("1095")="0035"		  DiacriticsDB.Value("0035")=DiacriticsDB.Value("0035")+",136D"		  ReverseDiacriticsDB.Value("136D")="0035"		  DiacriticsDB.Value("0035")=DiacriticsDB.Value("0035")+",17E5"		  ReverseDiacriticsDB.Value("17E5")="0035"		  DiacriticsDB.Value("0035")=DiacriticsDB.Value("0035")+",1815"		  ReverseDiacriticsDB.Value("1815")="0035"		  DiacriticsDB.Value("0035")=DiacriticsDB.Value("0035")+",194B"		  ReverseDiacriticsDB.Value("194B")="0035"		  DiacriticsDB.Value("0035")=DiacriticsDB.Value("0035")+",19D5"		  ReverseDiacriticsDB.Value("19D5")="0035"		  DiacriticsDB.Value("0035")=DiacriticsDB.Value("0035")+",1A85"		  ReverseDiacriticsDB.Value("1A85")="0035"		  DiacriticsDB.Value("0035")=DiacriticsDB.Value("0035")+",1A95"		  ReverseDiacriticsDB.Value("1A95")="0035"		  DiacriticsDB.Value("0035")=DiacriticsDB.Value("0035")+",1B55"		  ReverseDiacriticsDB.Value("1B55")="0035"		  DiacriticsDB.Value("0035")=DiacriticsDB.Value("0035")+",1BB5"		  ReverseDiacriticsDB.Value("1BB5")="0035"		  DiacriticsDB.Value("0035")=DiacriticsDB.Value("0035")+",1C45"		  ReverseDiacriticsDB.Value("1C45")="0035"		  DiacriticsDB.Value("0035")=DiacriticsDB.Value("0035")+",1C55"		  ReverseDiacriticsDB.Value("1C55")="0035"		  DiacriticsDB.Value("0035")=DiacriticsDB.Value("0035")+",2464"		  ReverseDiacriticsDB.Value("2464")="0035"		  DiacriticsDB.Value("0035")=DiacriticsDB.Value("0035")+",2478"		  ReverseDiacriticsDB.Value("2478")="0035"		  DiacriticsDB.Value("0035")=DiacriticsDB.Value("0035")+",24F9"		  ReverseDiacriticsDB.Value("24F9")="0035"		  DiacriticsDB.Value("0035")=DiacriticsDB.Value("0035")+",277A"		  ReverseDiacriticsDB.Value("277A")="0035"		  DiacriticsDB.Value("0035")=DiacriticsDB.Value("0035")+",2784"		  ReverseDiacriticsDB.Value("2784")="0035"		  DiacriticsDB.Value("0035")=DiacriticsDB.Value("0035")+",278E"		  ReverseDiacriticsDB.Value("278E")="0035"		  DiacriticsDB.Value("0035")=DiacriticsDB.Value("0035")+",A625"		  ReverseDiacriticsDB.Value("A625")="0035"		  DiacriticsDB.Value("0035")=DiacriticsDB.Value("0035")+",A8D5"		  ReverseDiacriticsDB.Value("A8D5")="0035"		  DiacriticsDB.Value("0035")=DiacriticsDB.Value("0035")+",A905"		  ReverseDiacriticsDB.Value("A905")="0035"		  DiacriticsDB.Value("0035")=DiacriticsDB.Value("0035")+",AA55"		  ReverseDiacriticsDB.Value("AA55")="0035"		  DiacriticsDB.Value("0035")=DiacriticsDB.Value("0035")+",FF15"		  ReverseDiacriticsDB.Value("FF15")="0035"		  DiacriticsDB.Value("0035")=DiacriticsDB.Value("0035")+",104A5"		  ReverseDiacriticsDB.Value("104A5")="0035"		  DiacriticsDB.Value("0035")=DiacriticsDB.Value("0035")+",1D364"		  ReverseDiacriticsDB.Value("1D364")="0035"		  DiacriticsDB.Value("0035")=DiacriticsDB.Value("0035")+",1D36D"		  ReverseDiacriticsDB.Value("1D36D")="0035"		  DiacriticsDB.Value("0035")=DiacriticsDB.Value("0035")+",1D7D3"		  ReverseDiacriticsDB.Value("1D7D3")="0035"		  DiacriticsDB.Value("0035")=DiacriticsDB.Value("0035")+",1D7DD"		  ReverseDiacriticsDB.Value("1D7DD")="0035"		  DiacriticsDB.Value("0035")=DiacriticsDB.Value("0035")+",1D7E7"		  ReverseDiacriticsDB.Value("1D7E7")="0035"		  DiacriticsDB.Value("0035")=DiacriticsDB.Value("0035")+",1D7F1"		  ReverseDiacriticsDB.Value("1D7F1")="0035"		  DiacriticsDB.Value("0035")=DiacriticsDB.Value("0035")+",1D7FB"		  ReverseDiacriticsDB.Value("1D7FB")="0035"		  DiacriticsDB.Value("0035")=DiacriticsDB.Value("0035")+",E0035"		  ReverseDiacriticsDB.Value("E0035")="0035"		  DiacriticsDB.Value("0035")=DiacriticsDB.Value("0035")+",2164"		  ReverseDiacriticsDB.Value("2164")="0035"		  DiacriticsDB.Value("0035")=DiacriticsDB.Value("0035")+",2174"		  ReverseDiacriticsDB.Value("2174")="0035"		  DiacriticsDB.Value("0035")=DiacriticsDB.Value("0035")+",3025"		  ReverseDiacriticsDB.Value("3025")="0035"		  DiacriticsDB.Value("0035")=DiacriticsDB.Value("0035")+",10321"		  ReverseDiacriticsDB.Value("10321")="0035"		  		  DiacriticsDB.Value("0036")="0036"		  		  // Han digits		  s=HexMin(Asc(ConvertEncoding("六", Encodings.UTF16)),4)		  DiacriticsDB.Value("0036")=DiacriticsDB.Value("0036")+","+s		  ReverseDiacriticsDB.Value(s)="0036"		  s=HexMin(Asc(ConvertEncoding("陸", Encodings.UTF16)),4)		  DiacriticsDB.Value("0036")=DiacriticsDB.Value("0036")+","+s		  ReverseDiacriticsDB.Value(s)="0036"		  s=HexMin(Asc(ConvertEncoding("陆", Encodings.UTF16)),4)		  DiacriticsDB.Value("0036")=DiacriticsDB.Value("0036")+","+s		  ReverseDiacriticsDB.Value(s)="0036"		  		  DiacriticsDB.Value("0036")=DiacriticsDB.Value("0036")+",0666"		  ReverseDiacriticsDB.Value("0666")="0036"		  DiacriticsDB.Value("0036")=DiacriticsDB.Value("0036")+",06F6"		  ReverseDiacriticsDB.Value("06F6")="0036"		  DiacriticsDB.Value("0036")=DiacriticsDB.Value("0036")+",07C6"		  ReverseDiacriticsDB.Value("07C6")="0036"		  DiacriticsDB.Value("0036")=DiacriticsDB.Value("0036")+",096C"		  ReverseDiacriticsDB.Value("096C")="0036"		  DiacriticsDB.Value("0036")=DiacriticsDB.Value("0036")+",09EC"		  ReverseDiacriticsDB.Value("09EC")="0036"		  DiacriticsDB.Value("0036")=DiacriticsDB.Value("0036")+",0A6C"		  ReverseDiacriticsDB.Value("0A6C")="0036"		  DiacriticsDB.Value("0036")=DiacriticsDB.Value("0036")+",0AEC"		  ReverseDiacriticsDB.Value("0AEC")="0036"		  DiacriticsDB.Value("0036")=DiacriticsDB.Value("0036")+",0B6C"		  ReverseDiacriticsDB.Value("0B6C")="0036"		  DiacriticsDB.Value("0036")=DiacriticsDB.Value("0036")+",0BEC"		  ReverseDiacriticsDB.Value("0BEC")="0036"		  DiacriticsDB.Value("0036")=DiacriticsDB.Value("0036")+",0C6C"		  ReverseDiacriticsDB.Value("0C6C")="0036"		  DiacriticsDB.Value("0036")=DiacriticsDB.Value("0036")+",0CEC"		  ReverseDiacriticsDB.Value("0CEC")="0036"		  DiacriticsDB.Value("0036")=DiacriticsDB.Value("0036")+",0D6C"		  ReverseDiacriticsDB.Value("0D6C")="0036"		  DiacriticsDB.Value("0036")=DiacriticsDB.Value("0036")+",0E56"		  ReverseDiacriticsDB.Value("0E56")="0036"		  DiacriticsDB.Value("0036")=DiacriticsDB.Value("0036")+",0ED6"		  ReverseDiacriticsDB.Value("0ED6")="0036"		  DiacriticsDB.Value("0036")=DiacriticsDB.Value("0036")+",0F26"		  ReverseDiacriticsDB.Value("0F26")="0036"		  DiacriticsDB.Value("0036")=DiacriticsDB.Value("0036")+",1046"		  ReverseDiacriticsDB.Value("1046")="0036"		  DiacriticsDB.Value("0036")=DiacriticsDB.Value("0036")+",1096"		  ReverseDiacriticsDB.Value("1096")="0036"		  DiacriticsDB.Value("0036")=DiacriticsDB.Value("0036")+",136E"		  ReverseDiacriticsDB.Value("136E")="0036"		  DiacriticsDB.Value("0036")=DiacriticsDB.Value("0036")+",17E6"		  ReverseDiacriticsDB.Value("17E6")="0036"		  DiacriticsDB.Value("0036")=DiacriticsDB.Value("0036")+",1816"		  ReverseDiacriticsDB.Value("1816")="0036"		  DiacriticsDB.Value("0036")=DiacriticsDB.Value("0036")+",194C"		  ReverseDiacriticsDB.Value("194C")="0036"		  DiacriticsDB.Value("0036")=DiacriticsDB.Value("0036")+",19D6"		  ReverseDiacriticsDB.Value("19D6")="0036"		  DiacriticsDB.Value("0036")=DiacriticsDB.Value("0036")+",1A86"		  ReverseDiacriticsDB.Value("1A86")="0036"		  DiacriticsDB.Value("0036")=DiacriticsDB.Value("0036")+",1A96"		  ReverseDiacriticsDB.Value("1A96")="0036"		  DiacriticsDB.Value("0036")=DiacriticsDB.Value("0036")+",1B56"		  ReverseDiacriticsDB.Value("1B56")="0036"		  DiacriticsDB.Value("0036")=DiacriticsDB.Value("0036")+",1BB6"		  ReverseDiacriticsDB.Value("1BB6")="0036"		  DiacriticsDB.Value("0036")=DiacriticsDB.Value("0036")+",1C46"		  ReverseDiacriticsDB.Value("1C46")="0036"		  DiacriticsDB.Value("0036")=DiacriticsDB.Value("0036")+",1C56"		  ReverseDiacriticsDB.Value("1C56")="0036"		  DiacriticsDB.Value("0036")=DiacriticsDB.Value("0036")+",2465"		  ReverseDiacriticsDB.Value("2465")="0036"		  DiacriticsDB.Value("0036")=DiacriticsDB.Value("0036")+",2479"		  ReverseDiacriticsDB.Value("2479")="0036"		  DiacriticsDB.Value("0036")=DiacriticsDB.Value("0036")+",24FA"		  ReverseDiacriticsDB.Value("24FA")="0036"		  DiacriticsDB.Value("0036")=DiacriticsDB.Value("0036")+",277B"		  ReverseDiacriticsDB.Value("277B")="0036"		  DiacriticsDB.Value("0036")=DiacriticsDB.Value("0036")+",2785"		  ReverseDiacriticsDB.Value("2785")="0036"		  DiacriticsDB.Value("0036")=DiacriticsDB.Value("0036")+",278F"		  ReverseDiacriticsDB.Value("278F")="0036"		  DiacriticsDB.Value("0036")=DiacriticsDB.Value("0036")+",A626"		  ReverseDiacriticsDB.Value("A626")="0036"		  DiacriticsDB.Value("0036")=DiacriticsDB.Value("0036")+",A8D6"		  ReverseDiacriticsDB.Value("A8D6")="0036"		  DiacriticsDB.Value("0036")=DiacriticsDB.Value("0036")+",A906"		  ReverseDiacriticsDB.Value("A906")="0036"		  DiacriticsDB.Value("0036")=DiacriticsDB.Value("0036")+",AA56"		  ReverseDiacriticsDB.Value("AA56")="0036"		  DiacriticsDB.Value("0036")=DiacriticsDB.Value("0036")+",FF16"		  ReverseDiacriticsDB.Value("FF16")="0036"		  DiacriticsDB.Value("0036")=DiacriticsDB.Value("0036")+",104A6"		  ReverseDiacriticsDB.Value("104A6")="0036"		  DiacriticsDB.Value("0036")=DiacriticsDB.Value("0036")+",1D365"		  ReverseDiacriticsDB.Value("1D365")="0036"		  DiacriticsDB.Value("0036")=DiacriticsDB.Value("0036")+",1D36E"		  ReverseDiacriticsDB.Value("1D36E")="0036"		  DiacriticsDB.Value("0036")=DiacriticsDB.Value("0036")+",1D7D4"		  ReverseDiacriticsDB.Value("1D7D4")="0036"		  DiacriticsDB.Value("0036")=DiacriticsDB.Value("0036")+",1D7DE"		  ReverseDiacriticsDB.Value("1D7DE")="0036"		  DiacriticsDB.Value("0036")=DiacriticsDB.Value("0036")+",1D7E8"		  ReverseDiacriticsDB.Value("1D7E8")="0036"		  DiacriticsDB.Value("0036")=DiacriticsDB.Value("0036")+",1D7F2"		  ReverseDiacriticsDB.Value("1D7F2")="0036"		  DiacriticsDB.Value("0036")=DiacriticsDB.Value("0036")+",1D7FC"		  ReverseDiacriticsDB.Value("1D7FC")="0036"		  DiacriticsDB.Value("0036")=DiacriticsDB.Value("0036")+",E0036"		  ReverseDiacriticsDB.Value("E0036")="0036"		  DiacriticsDB.Value("0036")=DiacriticsDB.Value("0036")+",2165"		  ReverseDiacriticsDB.Value("2165")="0036"		  DiacriticsDB.Value("0036")=DiacriticsDB.Value("0036")+",2175"		  ReverseDiacriticsDB.Value("2175")="0036"		  DiacriticsDB.Value("0036")=DiacriticsDB.Value("0036")+",3026"		  ReverseDiacriticsDB.Value("3026")="0036"		  DiacriticsDB.Value("0037")="0037"		  		  // Han digits		  s=HexMin(Asc(ConvertEncoding("七", Encodings.UTF16)),4)		  DiacriticsDB.Value("0037")=DiacriticsDB.Value("0037")+","+s		  ReverseDiacriticsDB.Value(s)="0037"		  s=HexMin(Asc(ConvertEncoding("柒", Encodings.UTF16)),4)		  DiacriticsDB.Value("0037")=DiacriticsDB.Value("0037")+","+s		  ReverseDiacriticsDB.Value(s)="0037"		  		  DiacriticsDB.Value("0037")=DiacriticsDB.Value("0037")+",0667"		  ReverseDiacriticsDB.Value("0667")="0037"		  DiacriticsDB.Value("0037")=DiacriticsDB.Value("0037")+",06F7"		  ReverseDiacriticsDB.Value("06F7")="0037"		  DiacriticsDB.Value("0037")=DiacriticsDB.Value("0037")+",07C7"		  ReverseDiacriticsDB.Value("07C7")="0037"		  DiacriticsDB.Value("0037")=DiacriticsDB.Value("0037")+",096D"		  ReverseDiacriticsDB.Value("096D")="0037"		  DiacriticsDB.Value("0037")=DiacriticsDB.Value("0037")+",09ED"		  ReverseDiacriticsDB.Value("09ED")="0037"		  DiacriticsDB.Value("0037")=DiacriticsDB.Value("0037")+",0A6D"		  ReverseDiacriticsDB.Value("0A6D")="0037"		  DiacriticsDB.Value("0037")=DiacriticsDB.Value("0037")+",0AED"		  ReverseDiacriticsDB.Value("0AED")="0037"		  DiacriticsDB.Value("0037")=DiacriticsDB.Value("0037")+",0B6D"		  ReverseDiacriticsDB.Value("0B6D")="0037"		  DiacriticsDB.Value("0037")=DiacriticsDB.Value("0037")+",0BED"		  ReverseDiacriticsDB.Value("0BED")="0037"		  DiacriticsDB.Value("0037")=DiacriticsDB.Value("0037")+",0C6D"		  ReverseDiacriticsDB.Value("0C6D")="0037"		  DiacriticsDB.Value("0037")=DiacriticsDB.Value("0037")+",0CED"		  ReverseDiacriticsDB.Value("0CED")="0037"		  DiacriticsDB.Value("0037")=DiacriticsDB.Value("0037")+",0D6D"		  ReverseDiacriticsDB.Value("0D6D")="0037"		  DiacriticsDB.Value("0037")=DiacriticsDB.Value("0037")+",0E57"		  ReverseDiacriticsDB.Value("0E57")="0037"		  DiacriticsDB.Value("0037")=DiacriticsDB.Value("0037")+",0ED7"		  ReverseDiacriticsDB.Value("0ED7")="0037"		  DiacriticsDB.Value("0037")=DiacriticsDB.Value("0037")+",0F27"		  ReverseDiacriticsDB.Value("0F27")="0037"		  DiacriticsDB.Value("0037")=DiacriticsDB.Value("0037")+",1047"		  ReverseDiacriticsDB.Value("1047")="0037"		  DiacriticsDB.Value("0037")=DiacriticsDB.Value("0037")+",1097"		  ReverseDiacriticsDB.Value("1097")="0037"		  DiacriticsDB.Value("0037")=DiacriticsDB.Value("0037")+",136F"		  ReverseDiacriticsDB.Value("136F")="0037"		  DiacriticsDB.Value("0037")=DiacriticsDB.Value("0037")+",17E7"		  ReverseDiacriticsDB.Value("17E7")="0037"		  DiacriticsDB.Value("0037")=DiacriticsDB.Value("0037")+",1817"		  ReverseDiacriticsDB.Value("1817")="0037"		  DiacriticsDB.Value("0037")=DiacriticsDB.Value("0037")+",194D"		  ReverseDiacriticsDB.Value("194D")="0037"		  DiacriticsDB.Value("0037")=DiacriticsDB.Value("0037")+",19D7"		  ReverseDiacriticsDB.Value("19D7")="0037"		  DiacriticsDB.Value("0037")=DiacriticsDB.Value("0037")+",1A87"		  ReverseDiacriticsDB.Value("1A87")="0037"		  DiacriticsDB.Value("0037")=DiacriticsDB.Value("0037")+",1A97"		  ReverseDiacriticsDB.Value("1A97")="0037"		  DiacriticsDB.Value("0037")=DiacriticsDB.Value("0037")+",1B57"		  ReverseDiacriticsDB.Value("1B57")="0037"		  DiacriticsDB.Value("0037")=DiacriticsDB.Value("0037")+",1BB7"		  ReverseDiacriticsDB.Value("1BB7")="0037"		  DiacriticsDB.Value("0037")=DiacriticsDB.Value("0037")+",1C47"		  ReverseDiacriticsDB.Value("1C47")="0037"		  DiacriticsDB.Value("0037")=DiacriticsDB.Value("0037")+",1C57"		  ReverseDiacriticsDB.Value("1C57")="0037"		  DiacriticsDB.Value("0037")=DiacriticsDB.Value("0037")+",2466"		  ReverseDiacriticsDB.Value("2466")="0037"		  DiacriticsDB.Value("0037")=DiacriticsDB.Value("0037")+",247A"		  ReverseDiacriticsDB.Value("247A")="0037"		  DiacriticsDB.Value("0037")=DiacriticsDB.Value("0037")+",24FB"		  ReverseDiacriticsDB.Value("24FB")="0037"		  DiacriticsDB.Value("0037")=DiacriticsDB.Value("0037")+",277C"		  ReverseDiacriticsDB.Value("277C")="0037"		  DiacriticsDB.Value("0037")=DiacriticsDB.Value("0037")+",2786"		  ReverseDiacriticsDB.Value("2786")="0037"		  DiacriticsDB.Value("0037")=DiacriticsDB.Value("0037")+",2790"		  ReverseDiacriticsDB.Value("2790")="0037"		  DiacriticsDB.Value("0037")=DiacriticsDB.Value("0037")+",A627"		  ReverseDiacriticsDB.Value("A627")="0037"		  DiacriticsDB.Value("0037")=DiacriticsDB.Value("0037")+",A8D7"		  ReverseDiacriticsDB.Value("A8D7")="0037"		  DiacriticsDB.Value("0037")=DiacriticsDB.Value("0037")+",A907"		  ReverseDiacriticsDB.Value("A907")="0037"		  DiacriticsDB.Value("0037")=DiacriticsDB.Value("0037")+",AA57"		  ReverseDiacriticsDB.Value("AA57")="0037"		  DiacriticsDB.Value("0037")=DiacriticsDB.Value("0037")+",FF17"		  ReverseDiacriticsDB.Value("FF17")="0037"		  DiacriticsDB.Value("0037")=DiacriticsDB.Value("0037")+",104A7"		  ReverseDiacriticsDB.Value("104A7")="0037"		  DiacriticsDB.Value("0037")=DiacriticsDB.Value("0037")+",1D366"		  ReverseDiacriticsDB.Value("1D366")="0037"		  DiacriticsDB.Value("0037")=DiacriticsDB.Value("0037")+",1D36F"		  ReverseDiacriticsDB.Value("1D36F")="0037"		  DiacriticsDB.Value("0037")=DiacriticsDB.Value("0037")+",1D7D5"		  ReverseDiacriticsDB.Value("1D7D5")="0037"		  DiacriticsDB.Value("0037")=DiacriticsDB.Value("0037")+",1D7DF"		  ReverseDiacriticsDB.Value("1D7DF")="0037"		  DiacriticsDB.Value("0037")=DiacriticsDB.Value("0037")+",1D7E9"		  ReverseDiacriticsDB.Value("1D7E9")="0037"		  DiacriticsDB.Value("0037")=DiacriticsDB.Value("0037")+",1D7F3"		  ReverseDiacriticsDB.Value("1D7F3")="0037"		  DiacriticsDB.Value("0037")=DiacriticsDB.Value("0037")+",1D7FD"		  ReverseDiacriticsDB.Value("1D7FD")="0037"		  DiacriticsDB.Value("0037")=DiacriticsDB.Value("0037")+",E0037"		  ReverseDiacriticsDB.Value("E0037")="0037"		  DiacriticsDB.Value("0037")=DiacriticsDB.Value("0037")+",2166"		  ReverseDiacriticsDB.Value("2166")="0037"		  DiacriticsDB.Value("0037")=DiacriticsDB.Value("0037")+",2176"		  ReverseDiacriticsDB.Value("2176")="0037"		  DiacriticsDB.Value("0037")=DiacriticsDB.Value("0037")+",3027"		  ReverseDiacriticsDB.Value("3027")="0037"		  		  DiacriticsDB.Value("0038")="0038"		  		  BuildDigitsDB2()		  		End Sub	#tag EndMethod	#tag Method, Flags = &h0		Sub BuildDigitsDB2()		  Dim s As String		  // Han digits		  s=HexMin(Asc(ConvertEncoding("八", Encodings.UTF16)),4)		  DiacriticsDB.Value("0038")=DiacriticsDB.Value("0038")+","+s		  ReverseDiacriticsDB.Value(s)="0038"		  s=HexMin(Asc(ConvertEncoding("捌", Encodings.UTF16)),4)		  DiacriticsDB.Value("0038")=DiacriticsDB.Value("0038")+","+s		  ReverseDiacriticsDB.Value(s)="0038"		  		  DiacriticsDB.Value("0038")=DiacriticsDB.Value("0038")+",0668"		  ReverseDiacriticsDB.Value("0668")="0038"		  DiacriticsDB.Value("0038")=DiacriticsDB.Value("0038")+",06F8"		  ReverseDiacriticsDB.Value("06F8")="0038"		  DiacriticsDB.Value("0038")=DiacriticsDB.Value("0038")+",07C8"		  ReverseDiacriticsDB.Value("07C8")="0038"		  DiacriticsDB.Value("0038")=DiacriticsDB.Value("0038")+",096E"		  ReverseDiacriticsDB.Value("096E")="0038"		  DiacriticsDB.Value("0038")=DiacriticsDB.Value("0038")+",09EE"		  ReverseDiacriticsDB.Value("09EE")="0038"		  DiacriticsDB.Value("0038")=DiacriticsDB.Value("0038")+",0A6E"		  ReverseDiacriticsDB.Value("0A6E")="0038"		  DiacriticsDB.Value("0038")=DiacriticsDB.Value("0038")+",0AEE"		  ReverseDiacriticsDB.Value("0AEE")="0038"		  DiacriticsDB.Value("0038")=DiacriticsDB.Value("0038")+",0B6E"		  ReverseDiacriticsDB.Value("0B6E")="0038"		  DiacriticsDB.Value("0038")=DiacriticsDB.Value("0038")+",0BEE"		  ReverseDiacriticsDB.Value("0BEE")="0038"		  DiacriticsDB.Value("0038")=DiacriticsDB.Value("0038")+",0C6E"		  ReverseDiacriticsDB.Value("0C6E")="0038"		  DiacriticsDB.Value("0038")=DiacriticsDB.Value("0038")+",0CEE"		  ReverseDiacriticsDB.Value("0CEE")="0038"		  DiacriticsDB.Value("0038")=DiacriticsDB.Value("0038")+",0D6E"		  ReverseDiacriticsDB.Value("0D6E")="0038"		  DiacriticsDB.Value("0038")=DiacriticsDB.Value("0038")+",0E58"		  ReverseDiacriticsDB.Value("0E58")="0038"		  DiacriticsDB.Value("0038")=DiacriticsDB.Value("0038")+",0ED8"		  ReverseDiacriticsDB.Value("0ED8")="0038"		  DiacriticsDB.Value("0038")=DiacriticsDB.Value("0038")+",0F28"		  ReverseDiacriticsDB.Value("0F28")="0038"		  DiacriticsDB.Value("0038")=DiacriticsDB.Value("0038")+",1048"		  ReverseDiacriticsDB.Value("1048")="0038"		  DiacriticsDB.Value("0038")=DiacriticsDB.Value("0038")+",1098"		  ReverseDiacriticsDB.Value("1098")="0038"		  DiacriticsDB.Value("0038")=DiacriticsDB.Value("0038")+",1370"		  ReverseDiacriticsDB.Value("1370")="0038"		  DiacriticsDB.Value("0038")=DiacriticsDB.Value("0038")+",17E8"		  ReverseDiacriticsDB.Value("17E8")="0038"		  DiacriticsDB.Value("0038")=DiacriticsDB.Value("0038")+",1818"		  ReverseDiacriticsDB.Value("1818")="0038"		  DiacriticsDB.Value("0038")=DiacriticsDB.Value("0038")+",194E"		  ReverseDiacriticsDB.Value("194E")="0038"		  DiacriticsDB.Value("0038")=DiacriticsDB.Value("0038")+",19D8"		  ReverseDiacriticsDB.Value("19D8")="0038"		  DiacriticsDB.Value("0038")=DiacriticsDB.Value("0038")+",1A88"		  ReverseDiacriticsDB.Value("1A88")="0038"		  DiacriticsDB.Value("0038")=DiacriticsDB.Value("0038")+",1A98"		  ReverseDiacriticsDB.Value("1A98")="0038"		  DiacriticsDB.Value("0038")=DiacriticsDB.Value("0038")+",1B58"		  ReverseDiacriticsDB.Value("1B58")="0038"		  DiacriticsDB.Value("0038")=DiacriticsDB.Value("0038")+",1BB8"		  ReverseDiacriticsDB.Value("1BB8")="0038"		  DiacriticsDB.Value("0038")=DiacriticsDB.Value("0038")+",1C48"		  ReverseDiacriticsDB.Value("1C48")="0038"		  DiacriticsDB.Value("0038")=DiacriticsDB.Value("0038")+",1C58"		  ReverseDiacriticsDB.Value("1C58")="0038"		  DiacriticsDB.Value("0038")=DiacriticsDB.Value("0038")+",2467"		  ReverseDiacriticsDB.Value("2467")="0038"		  DiacriticsDB.Value("0038")=DiacriticsDB.Value("0038")+",247B"		  ReverseDiacriticsDB.Value("247B")="0038"		  DiacriticsDB.Value("0038")=DiacriticsDB.Value("0038")+",24FC"		  ReverseDiacriticsDB.Value("24FC")="0038"		  DiacriticsDB.Value("0038")=DiacriticsDB.Value("0038")+",277D"		  ReverseDiacriticsDB.Value("277D")="0038"		  DiacriticsDB.Value("0038")=DiacriticsDB.Value("0038")+",2787"		  ReverseDiacriticsDB.Value("2787")="0038"		  DiacriticsDB.Value("0038")=DiacriticsDB.Value("0038")+",2791"		  ReverseDiacriticsDB.Value("2791")="0038"		  DiacriticsDB.Value("0038")=DiacriticsDB.Value("0038")+",A628"		  ReverseDiacriticsDB.Value("A628")="0038"		  DiacriticsDB.Value("0038")=DiacriticsDB.Value("0038")+",A8D8"		  ReverseDiacriticsDB.Value("A8D8")="0038"		  DiacriticsDB.Value("0038")=DiacriticsDB.Value("0038")+",A908"		  ReverseDiacriticsDB.Value("A908")="0038"		  DiacriticsDB.Value("0038")=DiacriticsDB.Value("0038")+",AA58"		  ReverseDiacriticsDB.Value("AA58")="0038"		  DiacriticsDB.Value("0038")=DiacriticsDB.Value("0038")+",FF18"		  ReverseDiacriticsDB.Value("FF18")="0038"		  DiacriticsDB.Value("0038")=DiacriticsDB.Value("0038")+",104A8"		  ReverseDiacriticsDB.Value("104A8")="0038"		  DiacriticsDB.Value("0038")=DiacriticsDB.Value("0038")+",1D367"		  ReverseDiacriticsDB.Value("1D367")="0038"		  DiacriticsDB.Value("0038")=DiacriticsDB.Value("0038")+",1D370"		  ReverseDiacriticsDB.Value("1D370")="0038"		  DiacriticsDB.Value("0038")=DiacriticsDB.Value("0038")+",1D7D6"		  ReverseDiacriticsDB.Value("1D7D6")="0038"		  DiacriticsDB.Value("0038")=DiacriticsDB.Value("0038")+",1D7E0"		  ReverseDiacriticsDB.Value("1D7E0")="0038"		  DiacriticsDB.Value("0038")=DiacriticsDB.Value("0038")+",1D7EA"		  ReverseDiacriticsDB.Value("1D7EA")="0038"		  DiacriticsDB.Value("0038")=DiacriticsDB.Value("0038")+",1D7F4"		  ReverseDiacriticsDB.Value("1D7F4")="0038"		  DiacriticsDB.Value("0038")=DiacriticsDB.Value("0038")+",1D7FE"		  ReverseDiacriticsDB.Value("1D7FE")="0038"		  DiacriticsDB.Value("0038")=DiacriticsDB.Value("0038")+",E0038"		  ReverseDiacriticsDB.Value("E0038")="0038"		  DiacriticsDB.Value("0038")=DiacriticsDB.Value("0038")+",2167"		  ReverseDiacriticsDB.Value("2167")="0038"		  DiacriticsDB.Value("0038")=DiacriticsDB.Value("0038")+",2177"		  ReverseDiacriticsDB.Value("2177")="0038"		  DiacriticsDB.Value("0038")=DiacriticsDB.Value("0038")+",3028"		  ReverseDiacriticsDB.Value("3028")="0038"		  DiacriticsDB.Value("0039")="0039"		  		  // Han digits		  s=HexMin(Asc(ConvertEncoding("九", Encodings.UTF16)),4)		  DiacriticsDB.Value("0039")=DiacriticsDB.Value("0039")+","+s		  ReverseDiacriticsDB.Value(s)="0039"		  s=HexMin(Asc(ConvertEncoding("玖", Encodings.UTF16)),4)		  DiacriticsDB.Value("0039")=DiacriticsDB.Value("0039")+","+s		  ReverseDiacriticsDB.Value(s)="0039"		  		  DiacriticsDB.Value("0039")=DiacriticsDB.Value("0039")+",0669"		  ReverseDiacriticsDB.Value("0669")="0039"		  DiacriticsDB.Value("0039")=DiacriticsDB.Value("0039")+",06F9"		  ReverseDiacriticsDB.Value("06F9")="0039"		  DiacriticsDB.Value("0039")=DiacriticsDB.Value("0039")+",07C9"		  ReverseDiacriticsDB.Value("07C9")="0039"		  DiacriticsDB.Value("0039")=DiacriticsDB.Value("0039")+",096F"		  ReverseDiacriticsDB.Value("096F")="0039"		  DiacriticsDB.Value("0039")=DiacriticsDB.Value("0039")+",09EF"		  ReverseDiacriticsDB.Value("09EF")="0039"		  DiacriticsDB.Value("0039")=DiacriticsDB.Value("0039")+",0A6F"		  ReverseDiacriticsDB.Value("0A6F")="0039"		  DiacriticsDB.Value("0039")=DiacriticsDB.Value("0039")+",0AEF"		  ReverseDiacriticsDB.Value("0AEF")="0039"		  DiacriticsDB.Value("0039")=DiacriticsDB.Value("0039")+",0B6F"		  ReverseDiacriticsDB.Value("0B6F")="0039"		  DiacriticsDB.Value("0039")=DiacriticsDB.Value("0039")+",0BEF"		  ReverseDiacriticsDB.Value("0BEF")="0039"		  DiacriticsDB.Value("0039")=DiacriticsDB.Value("0039")+",0C6F"		  ReverseDiacriticsDB.Value("0C6F")="0039"		  DiacriticsDB.Value("0039")=DiacriticsDB.Value("0039")+",0CEF"		  ReverseDiacriticsDB.Value("0CEF")="0039"		  DiacriticsDB.Value("0039")=DiacriticsDB.Value("0039")+",0D6F"		  ReverseDiacriticsDB.Value("0D6F")="0039"		  DiacriticsDB.Value("0039")=DiacriticsDB.Value("0039")+",0E59"		  ReverseDiacriticsDB.Value("0E59")="0039"		  DiacriticsDB.Value("0039")=DiacriticsDB.Value("0039")+",0ED9"		  ReverseDiacriticsDB.Value("0ED9")="0039"		  DiacriticsDB.Value("0039")=DiacriticsDB.Value("0039")+",0F29"		  ReverseDiacriticsDB.Value("0F29")="0039"		  DiacriticsDB.Value("0039")=DiacriticsDB.Value("0039")+",1049"		  ReverseDiacriticsDB.Value("1049")="0039"		  DiacriticsDB.Value("0039")=DiacriticsDB.Value("0039")+",1099"		  ReverseDiacriticsDB.Value("1099")="0039"		  DiacriticsDB.Value("0039")=DiacriticsDB.Value("0039")+",1371"		  ReverseDiacriticsDB.Value("1371")="0039"		  DiacriticsDB.Value("0039")=DiacriticsDB.Value("0039")+",17E9"		  ReverseDiacriticsDB.Value("17E9")="0039"		  DiacriticsDB.Value("0039")=DiacriticsDB.Value("0039")+",1819"		  ReverseDiacriticsDB.Value("1819")="0039"		  DiacriticsDB.Value("0039")=DiacriticsDB.Value("0039")+",194F"		  ReverseDiacriticsDB.Value("194F")="0039"		  DiacriticsDB.Value("0039")=DiacriticsDB.Value("0039")+",19D9"		  ReverseDiacriticsDB.Value("19D9")="0039"		  DiacriticsDB.Value("0039")=DiacriticsDB.Value("0039")+",1A89"		  ReverseDiacriticsDB.Value("1A89")="0039"		  DiacriticsDB.Value("0039")=DiacriticsDB.Value("0039")+",1A99"		  ReverseDiacriticsDB.Value("1A99")="0039"		  DiacriticsDB.Value("0039")=DiacriticsDB.Value("0039")+",1B59"		  ReverseDiacriticsDB.Value("1B59")="0039"		  DiacriticsDB.Value("0039")=DiacriticsDB.Value("0039")+",1BB9"		  ReverseDiacriticsDB.Value("1BB9")="0039"		  DiacriticsDB.Value("0039")=DiacriticsDB.Value("0039")+",1C49"		  ReverseDiacriticsDB.Value("1C49")="0039"		  DiacriticsDB.Value("0039")=DiacriticsDB.Value("0039")+",1C59"		  ReverseDiacriticsDB.Value("1C59")="0039"		  DiacriticsDB.Value("0039")=DiacriticsDB.Value("0039")+",2468"		  ReverseDiacriticsDB.Value("2468")="0039"		  DiacriticsDB.Value("0039")=DiacriticsDB.Value("0039")+",247C"		  ReverseDiacriticsDB.Value("247C")="0039"		  DiacriticsDB.Value("0039")=DiacriticsDB.Value("0039")+",24FD"		  ReverseDiacriticsDB.Value("24FD")="0039"		  DiacriticsDB.Value("0039")=DiacriticsDB.Value("0039")+",277E"		  ReverseDiacriticsDB.Value("277E")="0039"		  DiacriticsDB.Value("0039")=DiacriticsDB.Value("0039")+",2788"		  ReverseDiacriticsDB.Value("2788")="0039"		  DiacriticsDB.Value("0039")=DiacriticsDB.Value("0039")+",2792"		  ReverseDiacriticsDB.Value("2792")="0039"		  DiacriticsDB.Value("0039")=DiacriticsDB.Value("0039")+",A629"		  ReverseDiacriticsDB.Value("A629")="0039"		  DiacriticsDB.Value("0039")=DiacriticsDB.Value("0039")+",A8D9"		  ReverseDiacriticsDB.Value("A8D9")="0039"		  DiacriticsDB.Value("0039")=DiacriticsDB.Value("0039")+",A909"		  ReverseDiacriticsDB.Value("A909")="0039"		  DiacriticsDB.Value("0039")=DiacriticsDB.Value("0039")+",AA59"		  ReverseDiacriticsDB.Value("AA59")="0039"		  DiacriticsDB.Value("0039")=DiacriticsDB.Value("0039")+",FF19"		  ReverseDiacriticsDB.Value("FF19")="0039"		  DiacriticsDB.Value("0039")=DiacriticsDB.Value("0039")+",104A9"		  ReverseDiacriticsDB.Value("104A9")="0039"		  DiacriticsDB.Value("0039")=DiacriticsDB.Value("0039")+",1D368"		  ReverseDiacriticsDB.Value("1D368")="0039"		  DiacriticsDB.Value("0039")=DiacriticsDB.Value("0039")+",1D371"		  ReverseDiacriticsDB.Value("1D371")="0039"		  DiacriticsDB.Value("0039")=DiacriticsDB.Value("0039")+",1D7D7"		  ReverseDiacriticsDB.Value("1D7D7")="0039"		  DiacriticsDB.Value("0039")=DiacriticsDB.Value("0039")+",1D7E1"		  ReverseDiacriticsDB.Value("1D7E1")="0039"		  DiacriticsDB.Value("0039")=DiacriticsDB.Value("0039")+",1D7EB"		  ReverseDiacriticsDB.Value("1D7EB")="0039"		  DiacriticsDB.Value("0039")=DiacriticsDB.Value("0039")+",1D7F5"		  ReverseDiacriticsDB.Value("1D7F5")="0039"		  DiacriticsDB.Value("0039")=DiacriticsDB.Value("0039")+",1D7FF"		  ReverseDiacriticsDB.Value("1D7FF")="0039"		  DiacriticsDB.Value("0039")=DiacriticsDB.Value("0039")+",E0039"		  ReverseDiacriticsDB.Value("E0039")="0039"		  DiacriticsDB.Value("0039")=DiacriticsDB.Value("0039")+",2168"		  ReverseDiacriticsDB.Value("2168")="0039"		  DiacriticsDB.Value("0039")=DiacriticsDB.Value("0039")+",2178"		  ReverseDiacriticsDB.Value("2178")="0039"		  DiacriticsDB.Value("0039")=DiacriticsDB.Value("0039")+",3029"		  ReverseDiacriticsDB.Value("3029")="0039"		  		  		End Sub	#tag EndMethod	#tag Method, Flags = &h1		Protected Function DrawParagraphBiDi(g As Graphics, myText As String, xpy As Integer, lb1 As ListBox) As Integer		  Dim ts As Integer=g.TextSize		  if ts=0 Then ts=12		  lb1.Cell(lb1.LastIndex, 1)=lb1.Cell(lb1.LastIndex, 1)+"TextSize: "+Str(ts)		  if myText.Trim()="" Then Return xpy+ts*1.5		  Dim w,h As Integer		  w=g.Width		  h=g.Height		  		  Dim px, py, coefMul As Integer		  if xpy=-1 Then		    py=ts+2		  Else		    py=xpy		  End If		  		  lb1.Cell(lb1.LastIndex, 1)=lb1.Cell(lb1.LastIndex, 1)+ChrB(9)+"Init at py: "+Str(py)		  if py>h Then		    lb1.Cell(lb1.LastIndex, 1)=lb1.Cell(lb1.LastIndex, 1)+ChrB(9)+"Outside visible area ["+Str(py)+"/"+Str(h)+"]."		    lb1.Cell(lb1.LastIndex, 1)=lb1.Cell(lb1.LastIndex, 1)+ChrB(9)+"Aborting!"		    Return -8		  End If		   		  		  Dim stats As new Dictionary		  		  Dim r As new RegEx		  r.SearchPattern="  +"		  r.ReplacementPattern=" "		  r.Options.Greedy=True		  r.Options.ReplaceAllMatches=True		  Dim s As String=r.Replace(myText.Trim())		  		  Dim t(-1) As String=s.SplitB(" ")		  Dim u(-1) As String		  		  Dim ns As Integer=UBound(t)		  lb1.Cell(lb1.LastIndex, 1)=lb1.Cell(lb1.LastIndex, 1)+ChrB(9)+"Number of spaces: "+Str(ns)		  if ns=-1 Then Return -9		  		  Dim x As String		  Dim i,j,n As Integer		  for i=0 to ns		    s=ScriptName(t(i))		    x=ScriptDirection(s)		    u.Append x		    j=g.StringWidth(s)		    n=stats.Lookup(x, 0)+1		    stats.Value(x)=n		  Next		  		  j=stats.Count-1		  x=""		  For i=0 to j		    s=stats.Key(i)		    x=x+s+" "+Str(stats.Value(s))+" "		  Next		  lb1.Cell(lb1.LastIndex, 1)=lb1.Cell(lb1.LastIndex, 1)+ChrB(9)+x		  		  Dim RTL, LTR As Integer		  RTL=stats.Lookup("RTL", 0)		  LTR=stats.Lookup("LTR", 0)		  		  if rtl>ltr Then		    lb1.Cell(lb1.LastIndex, 1)=lb1.Cell(lb1.LastIndex, 1)+ChrB(9)+"|--> RTL with some LTR"		    px=w-2		    coefMul=-1		    j=t.Ubound()		    For i=0 to j		      n=g.StringWidth(t(i))		      if u(i)="RTL" Then		        lb1.Cell(lb1.LastIndex, 1)=lb1.Cell(lb1.LastIndex, 1)+ChrB(9)+"RTL: px="+Str(px)+", py="+Str(py)		        px=px-n		        lb1.Cell(lb1.LastIndex, 1)=lb1.Cell(lb1.LastIndex, 1)+ChrB(9)+" px="+Str(px)		        if px<2 then		          'g.ForeColor=&cff0000		          'g.DrawLine px+n,py, px+n, py+ts*1.5		          'g.ForeColor=&c000000		          'py=py+ts*1.5		          py=py+ts*1.5		          px=w-2-n		          lb1.Cell(lb1.LastIndex, 1)=lb1.Cell(lb1.LastIndex, 1)+ChrB(9)+" -> px="+Str(px)		          lb1.Cell(lb1.LastIndex, 1)=lb1.Cell(lb1.LastIndex, 1)+ChrB(9)+" -> py="+Str(py)		        end if		        'g.ForeColor=&cff0000		        'g.DrawLine px+n,py, px+n, py+ts*1.5		        'g.DrawString Str(px), px, py+ts*1.5		        'g.ForeColor=&c000000		        g.DrawString t(i), px, py		        px=px-g.StringWidth(" ")		      Else		        Dim gg, hh As Integer		        hh=t(i).LenB()		        lb1.Cell(lb1.LastIndex, 1)=lb1.Cell(lb1.LastIndex, 1)+ChrB(9)+"LTR: px="+Str(px)		        px=px-ts*.75		        if px-g.StringWidth(t(i))<2 then		          'g.ForeColor=&cff0000		          'g.DrawLine px+n,py, px+n, py+ts*1.5		          'g.ForeColor=&c000000		          'py=py+ts*1.5		          py=py+ts*1.5		          px=w-10		          lb1.Cell(lb1.LastIndex, 1)=lb1.Cell(lb1.LastIndex, 1)+ChrB(9)+" -> px="+Str(px)		          lb1.Cell(lb1.LastIndex, 1)=lb1.Cell(lb1.LastIndex, 1)+ChrB(9)+" -> py="+Str(py)		        end if		        lb1.Cell(lb1.LastIndex, 1)=lb1.Cell(lb1.LastIndex, 1)+ChrB(9)+" px="+Str(px)		        'g.ForeColor=&c0000ff		        'g.DrawLine px,py, px, py+ts*1.5		        'g.ForeColor=&c000000		        for gg=1 to hh		          g.DrawString t(i).MidB(hh-gg+1,1), px, py		          px=px-g.StringWidth(t(i).MidB(hh-gg+1,1))		        Next		      End If		    Next		  Else		    lb1.Cell(lb1.LastIndex, 1)=lb1.Cell(lb1.LastIndex, 1)+ChrB(9)+"|--> LTR with some RTL"		    lb1.Cell(lb1.LastIndex, 1)=lb1.Cell(lb1.LastIndex, 1)+ChrB(9)+" piece o' cake"		    px=2		    g.DrawString myText.Trim(), 2, py, w-4		    py=py+g.StringHeight(myText.Trim(), w-4)		  End If		  		  lb1.Cell(lb1.LastIndex, 1)=lb1.Cell(lb1.LastIndex, 1)+ChrB(9)+"Returning "+Str(py+ts*1.5)		  Return py		  		End Function	#tag EndMethod	#tag Method, Flags = &h0		Sub DrawStringBiDi(Extends g As Graphics, myText As String, lb1 As ListBox)		  Dim r As new RegEx		  r.SearchPattern="  +"		  r.ReplacementPattern=" "		  r.Options.Greedy=True		  r.Options.ReplaceAllMatches=True		  Dim s As String=r.Replace(myText.Trim())		  		  Dim t(-1) As String=s.SplitB(EndOfLine)		  Dim i,j, py As Integer		  py=-1		  'lb1.DeleteAllRows()		  		  j=t.Ubound()		  For i=0 to j		    lb1.AddFolder "New paragraph. PY= "+Str(py)		    py=DrawParagraphBiDi(g, t(i), py, lb1)		    if py=-8 Then Return		  Next		  		  		End Sub	#tag EndMethod	#tag Method, Flags = &h0		Function GetEquivalent(s As String) As String		  Dim t As String=ConvertEncoding(s, Encodings.UTF16)		  t=RightB("0000"+Hex(Asc(t)), 4)		  Return ConvertEncoding(Encodings.UTF16.Chr(Val("&H"+ReverseDiacriticsDB.Value(t))), Encodings.UTF8)		  		End Function	#tag EndMethod	#tag Method, Flags = &h0		Function HexMin(n As Integer, MinDigits As Integer) As String		  Dim s As String=Hex(n)		  if s.LenB()<MinDigits Then s=RightB("0000000000000000000000000000000"+s, MinDigits)		  Return s		End Function	#tag EndMethod	#tag Method, Flags = &h0		Function IsDigit(s As String) As Integer		  Dim x,y As String		  x=ConvertEncoding(s.Left(1), Encodings.UTF16)		  x=HexMin(Asc(x), 4)		  y=ReverseDiacriticsDB.Lookup(x, "")		  if y="" Then Return -1		  x=Encodings.UTF16.Chr(Val("&H"+y))		  if x<"0" or x>"9" Then Return -1		  Return Val(x)		  		End Function	#tag EndMethod	#tag Method, Flags = &h0		Function NormalizeDiacritics(s As String) As String		  Dim t As String=ConvertEncoding(s, Encodings.UTF16)		  dim u, v, w, x As String		  Dim i, j As Integer		  j=ReverseDiacriticsDB.Count-1		  For i=0 to j		    v=ReverseDiacriticsDB.Key(i)		    w=Encodings.UTF16.Chr(Val("&H"+v))		    u=ReverseDiacriticsDB.Value(v)		    x=Encodings.UTF16.Chr(Val("&H"+u))		    if t.InStr(w)>0 Then		      t=t.ReplaceAll(w, x)		    End If		  Next		  		  Return t		  		End Function	#tag EndMethod	#tag Method, Flags = &h0		Sub ParseDiacritics()		  Dim s, t(-1), u(-1), cp, char As String		  Dim i,j As Integer		  Dim f As FolderItem=GetFolderItem("Diacritics.out")		  Dim tos As TextOutputStream		  tos=tos.Create(f)		  Dim r As New RegEx		  Dim rm As RegExMatch		  		  tos.Write "DiacriticsDB=New Dictionary"+EndOfLine.UNIX		  tos.Write "ReverseDiacriticsDB=New Dictionary"+EndOfLine.UNIX		  		  r.SearchPattern="x \(.+ - ([0-9A-F]+)\)"		  s=Diacritics.ReplaceAllB("    ", ChrB(9))		  t=s.SplitB(EndOfLine.UNIX)		  j=t.Ubound()		  For i=0 to j		    s=t(i)		    if s.InStrB(ChrB(9))>0 Then		      u=s.SplitB(ChrB(9))		      cp=u(0)		      char=Encodings.UTF16.Chr(Val("&H"+cp))		      tos.Write "DiacriticsDB.Value("""+cp+""")="""+cp+""""+EndOfLine.UNIX		    Else		      if s.LeftB(1)="x" Then		        rm=r.Search(s)		        if rm<>Nil Then		          tos.Write "DiacriticsDB.Value("""+cp+""")=DiacriticsDB.Value("""+cp+""")+"","+rm.SubExpressionString(1)+""""+EndOfLine.UNIX		          tos.Write "ReverseDiacriticsDB.Value("""+rm.SubExpressionString(1)+""")="""+cp+""""+EndOfLine.UNIX		        End If		      End If		    End If		  Next		  		  		  tos.Write "// Digits"+EndOfLine.UNIX		  		  dim digits(-1) As String		  digits.Append "ZERO"		  digits.Append "ONE"		  digits.Append "TWO"		  digits.Append "THREE"		  digits.Append "FOUR"		  digits.Append "FIVE"		  digits.Append "SIX"		  digits.Append "SEVEN"		  digits.Append "EIGHT"		  digits.Append "NINE"		  		  for i=0 to 9		    r.SearchPattern="^([^\t]+)\t.+DIGIT "+digits(i)+"$"		    rm=r.Search(NamesList)		    cp="003"+Str(i)		    tos.Write "DiacriticsDB.Value("""+cp+""")="""+cp+""""+EndOfLine.UNIX		    While rm<>Nil		      tos.Write "DiacriticsDB.Value("""+cp+""")=DiacriticsDB.Value("""+cp+""")+"","+rm.SubExpressionString(1)+""""+EndOfLine.UNIX		      tos.Write "ReverseDiacriticsDB.Value("""+rm.SubExpressionString(1)+""")="""+cp+""""+EndOfLine.UNIX		      rm=r.Search(NamesList, rm.SubExpressionStartB(0)+rm.SubExpressionString(0).LenB())		    Wend		    r.SearchPattern="^([^\t]+)\t.+NUMERAL "+digits(i)+"$"		    rm=r.Search(NamesList)		    cp="003"+Str(i)		    tos.Write "DiacriticsDB.Value("""+cp+""")="""+cp+""""+EndOfLine.UNIX		    While rm<>Nil		      tos.Write "DiacriticsDB.Value("""+cp+""")=DiacriticsDB.Value("""+cp+""")+"","+rm.SubExpressionString(1)+""""+EndOfLine.UNIX		      tos.Write "ReverseDiacriticsDB.Value("""+rm.SubExpressionString(1)+""")="""+cp+""""+EndOfLine.UNIX		      rm=r.Search(NamesList, rm.SubExpressionStartB(0)+rm.SubExpressionString(0).LenB())		    Wend		  Next		  		  		  tos.Write "// Diacs"+EndOfLine.UNIX		  		  Dim diacs(-1), diacNames(-1) As String		  diacs.Append ","		  diacs.Append "."		  diacs.Append ":"		  diacs.Append ";"		  		  diacNames.Append "COMMA"		  diacNames.Append "STOP"		  diacNames.Append "COLON"		  diacNames.Append "SEMICOLON"		  		  j=diacs.Ubound()		  for i=0 to j		    r.SearchPattern="^^(.....?)\t\w+ "+diacNames(i)+"$"		    cp=HexMin(Asc(ConvertEncoding(diacs(i),Encodings.UTF16)),4)		    'tos.Write "DiacriticsDB.Value("""+cp+""")="""+cp+""""+EndOfLine.UNIX		    Window1.lb1.AddRow "DiacriticsDB.Value("""+cp+""")="""+cp+""""		    rm=r.Search(NamesList)		    While rm<>Nil		      tos.Write "DiacriticsDB.Value("""+cp+""")="""+rm.SubExpressionString(1)+""""+EndOfLine.UNIX		      tos.Write "ReverseDiacriticsDB.Value("""+rm.SubExpressionString(1)+""")="""+cp+""""+EndOfLine.UNIX		      Window1.lb1.AddRow "DiacriticsDB.Value("""+cp+""")="""+rm.SubExpressionString(1)+""""		      Window1.lb1.AddRow "ReverseDiacriticsDB.Value("""+rm.SubExpressionString(1)+""")="""+cp+""""		      rm=r.Search(NamesList, rm.SubExpressionStartB(0)+rm.SubExpressionString(0).LenB())		    Wend		  Next		  		  tos=Nil		  		End Sub	#tag EndMethod	#tag Method, Flags = &h0		Function ScriptDirection(x As String) As String		  If x="Arabic" Then Return "RTL"		  If x="Armenian" Then Return "LTR"		  If x="Latin" Then Return "LTR"		  If x="Cyrillic" Then Return "LTR"		  If x="Simplified Chinese" Then Return "LTR"		  If x="Georgian" Then Return "LTR"		  If x="Greek" Then Return "LTR"		  If x="Han" Then Return "LTR"		  If x="Devanagari" Then Return "LTR"		  If x="Hebrew" Then Return "RTL"		  If x="Kanji" Then Return "LTR"		  If x="Hiragana" Then Return "LTR"		  If x="Katakana" Then Return "LTR"		  If x="Hangul" Then Return "LTR"		  If x="Thai" Then Return "LTR"		  		  Return "LTR"		  		End Function	#tag EndMethod	#tag Method, Flags = &h0		Sub ScriptDirectionParser()		  Dim r As new RegEx		  r.SearchPattern="  +"		  r.ReplacementPattern="\t"		  r.Options.Greedy=True		  r.Options.ReplaceAllMatches=True		  Dim s As String=r.Replace(Directions)		  		  Dim t(-1) As String=s.SplitB(EndOfLine)		  s=""		  Dim u(-1) As String		  		  Dim f As FolderItem=GetFolderItem("directions.txt")		  Dim tos As TextOutputStream		  tos=tos.Create(f)		  Dim i,j As Integer		  Dim d As Dictionary=New Dictionary		  j=t.Ubound()		  For i=0 to j		    u=t(i).SplitB(ChrB(9))		    d.Value(u(1))=u(2)		  Next		  		  j=d.Count-1		  For i=0 to j		    s=d.Key(i)		    tos.Write "If x="""+s+""" Then Return """+d.Value(s)+""""+EndOfLine.UNIX		  Next		  		  tos=Nil		  		  		  		End Sub	#tag EndMethod	#tag Method, Flags = &h0		Function ScriptName(x As String) As String		  Dim f As Integer=ConvertEncoding(x, Encodings.UTF16).Asc()		  if f>=&H41 And f<=&H5A Then Return "Latin"		  if f>=&H61 And f<=&H7A Then Return "Latin"		  if f=&HAA Then Return "Latin"		  if f=&HBA Then Return "Latin"		  if f>=&HC0 And f<=&HD6 Then Return "Latin"		  if f>=&HD8 And f<=&HF6 Then Return "Latin"		  if f>=&HF8 And f<=&H2B8 Then Return "Latin"		  if f>=&H2E0 And f<=&H2E4 Then Return "Latin"		  if f>=&H1D00 And f<=&H1D25 Then Return "Latin"		  if f>=&H1D2C And f<=&H1D5C Then Return "Latin"		  if f>=&H1D62 And f<=&H1D65 Then Return "Latin"		  if f>=&H1D6B And f<=&H1D77 Then Return "Latin"		  if f>=&H1D79 And f<=&H1DBE Then Return "Latin"		  if f>=&H1E00 And f<=&H1EFF Then Return "Latin"		  if f=&H2071 Then Return "Latin"		  if f=&H207F Then Return "Latin"		  if f>=&H2090 And f<=&H2094 Then Return "Latin"		  if f>=&H212A And f<=&H212B Then Return "Latin"		  if f=&H2132 Then Return "Latin"		  if f=&H214E Then Return "Latin"		  if f>=&H2160 And f<=&H2188 Then Return "Latin"		  if f>=&H2C60 And f<=&H2C6F Then Return "Latin"		  if f>=&H2C71 And f<=&H2C7D Then Return "Latin"		  if f>=&HA722 And f<=&HA787 Then Return "Latin"		  if f>=&HA78B And f<=&HA78C Then Return "Latin"		  if f>=&HA7FB And f<=&HA7FF Then Return "Latin"		  if f>=&HFB00 And f<=&HFB06 Then Return "Latin"		  if f>=&HFF21 And f<=&HFF3A Then Return "Latin"		  if f>=&HFF41 And f<=&HFF5A Then Return "Latin"		  if f>=&H0 And f<=&H40 Then Return "Common"		  if f>=&H5B And f<=&H60 Then Return "Common"		  if f>=&H7B And f<=&HA9 Then Return "Common"		  if f>=&HAB And f<=&HB9 Then Return "Common"		  if f>=&HBB And f<=&HBF Then Return "Common"		  if f=&HD7 Then Return "Common"		  if f=&HF7 Then Return "Common"		  if f>=&H2B9 And f<=&H2DF Then Return "Common"		  if f>=&H2E5 And f<=&H2FF Then Return "Common"		  if f=&H374 Then Return "Common"		  if f=&H37E Then Return "Common"		  if f=&H385 Then Return "Common"		  if f=&H387 Then Return "Common"		  if f=&H589 Then Return "Common"		  'if f>=&H600 And f<=&H603 Then Return "Common"		  'if f=&H60C Then Return "Common"		  'if f=&H61B Then Return "Common"		  'if f=&H61F Then Return "Common"		  'if f=&H640 Then Return "Common"		  'if f>=&H660 And f<=&H669 Then Return "Common"		  'if f=&H6DD Then Return "Common"		  if f>=&H964 And f<=&H965 Then Return "Common"		  if f=&H970 Then Return "Common"		  if f>=&HCF1 And f<=&HCF2 Then Return "Common"		  if f=&HE3F Then Return "Common"		  if f=&H10FB Then Return "Common"		  if f>=&H16EB And f<=&H16ED Then Return "Common"		  if f>=&H1735 And f<=&H1736 Then Return "Common"		  if f>=&H1802 And f<=&H1803 Then Return "Common"		  if f=&H1805 Then Return "Common"		  if f>=&H2000 And f<=&H200B Then Return "Common"		  if f>=&H200E And f<=&H2064 Then Return "Common"		  if f>=&H206A And f<=&H2070 Then Return "Common"		  if f>=&H2074 And f<=&H207E Then Return "Common"		  if f>=&H2080 And f<=&H208E Then Return "Common"		  if f>=&H20A0 And f<=&H20B5 Then Return "Common"		  if f>=&H2100 And f<=&H2125 Then Return "Common"		  if f>=&H2127 And f<=&H2129 Then Return "Common"		  if f>=&H212C And f<=&H2131 Then Return "Common"		  if f>=&H2133 And f<=&H214D Then Return "Common"		  if f=&H214F Then Return "Common"		  if f>=&H2153 And f<=&H215F Then Return "Common"		  if f>=&H2190 And f<=&H23E7 Then Return "Common"		  if f>=&H2400 And f<=&H2426 Then Return "Common"		  if f>=&H2440 And f<=&H244A Then Return "Common"		  if f>=&H2460 And f<=&H269D Then Return "Common"		  if f>=&H26A0 And f<=&H26BC Then Return "Common"		  if f>=&H26C0 And f<=&H26C3 Then Return "Common"		  if f>=&H2701 And f<=&H2704 Then Return "Common"		  if f>=&H2706 And f<=&H2709 Then Return "Common"		  if f>=&H270C And f<=&H2727 Then Return "Common"		  if f>=&H2729 And f<=&H274B Then Return "Common"		  if f=&H274D Then Return "Common"		  if f>=&H274F And f<=&H2752 Then Return "Common"		  if f=&H2756 Then Return "Common"		  if f>=&H2758 And f<=&H275E Then Return "Common"		  if f>=&H2761 And f<=&H2794 Then Return "Common"		  if f>=&H2798 And f<=&H27AF Then Return "Common"		  if f>=&H27B1 And f<=&H27BE Then Return "Common"		  if f>=&H27C0 And f<=&H27CA Then Return "Common"		  if f=&H27CC Then Return "Common"		  if f>=&H27D0 And f<=&H27FF Then Return "Common"		  if f>=&H2900 And f<=&H2B4C Then Return "Common"		  if f>=&H2B50 And f<=&H2B54 Then Return "Common"		  if f>=&H2E00 And f<=&H2E30 Then Return "Common"		  if f>=&H2FF0 And f<=&H2FFB Then Return "Common"		  if f>=&H3000 And f<=&H3004 Then Return "Common"		  if f=&H3006 Then Return "Common"		  if f>=&H3008 And f<=&H3020 Then Return "Common"		  if f>=&H3030 And f<=&H3037 Then Return "Common"		  if f>=&H303C And f<=&H303F Then Return "Common"		  if f>=&H309B And f<=&H309C Then Return "Common"		  if f=&H30A0 Then Return "Common"		  if f>=&H30FB And f<=&H30FC Then Return "Common"		  if f>=&H3190 And f<=&H319F Then Return "Common"		  if f>=&H31C0 And f<=&H31E3 Then Return "Common"		  if f>=&H3220 And f<=&H3243 Then Return "Common"		  if f>=&H3250 And f<=&H325F Then Return "Common"		  if f>=&H327F And f<=&H32CF Then Return "Common"		  if f>=&H3358 And f<=&H33FF Then Return "Common"		  if f>=&H4DC0 And f<=&H4DFF Then Return "Common"		  if f>=&HA700 And f<=&HA721 Then Return "Common"		  if f>=&HA788 And f<=&HA78A Then Return "Common"		  if f>=&HFD3E And f<=&HFD3F Then Return "Common"		  if f=&HFDFD Then Return "Common"		  if f>=&HFE10 And f<=&HFE19 Then Return "Common"		  if f>=&HFE30 And f<=&HFE52 Then Return "Common"		  if f>=&HFE54 And f<=&HFE66 Then Return "Common"		  if f>=&HFE68 And f<=&HFE6B Then Return "Common"		  if f=&HFEFF Then Return "Common"		  if f>=&HFF01 And f<=&HFF20 Then Return "Common"		  if f>=&HFF3B And f<=&HFF40 Then Return "Common"		  if f>=&HFF5B And f<=&HFF65 Then Return "Common"		  if f=&HFF70 Then Return "Common"		  if f>=&HFF9E And f<=&HFF9F Then Return "Common"		  if f>=&HFFE0 And f<=&HFFE6 Then Return "Common"		  if f>=&HFFE8 And f<=&HFFEE Then Return "Common"		  if f>=&HFFF9 And f<=&HFFFD Then Return "Common"		  if f>=&H10100 And f<=&H10102 Then Return "Common"		  if f>=&H10107 And f<=&H10133 Then Return "Common"		  if f>=&H10137 And f<=&H1013F Then Return "Common"		  if f>=&H10190 And f<=&H1019B Then Return "Common"		  if f>=&H101D0 And f<=&H101FC Then Return "Common"		  if f>=&H1D000 And f<=&H1D0F5 Then Return "Common"		  if f>=&H1D100 And f<=&H1D126 Then Return "Common"		  if f>=&H1D129 And f<=&H1D166 Then Return "Common"		  if f>=&H1D16A And f<=&H1D17A Then Return "Common"		  if f>=&H1D183 And f<=&H1D184 Then Return "Common"		  if f>=&H1D18C And f<=&H1D1A9 Then Return "Common"		  if f>=&H1D1AE And f<=&H1D1DD Then Return "Common"		  if f>=&H1D300 And f<=&H1D356 Then Return "Common"		  if f>=&H1D360 And f<=&H1D371 Then Return "Common"		  if f>=&H1D400 And f<=&H1D454 Then Return "Common"		  if f>=&H1D456 And f<=&H1D49C Then Return "Common"		  if f>=&H1D49E And f<=&H1D49F Then Return "Common"		  if f=&H1D4A2 Then Return "Common"		  if f>=&H1D4A5 And f<=&H1D4A6 Then Return "Common"		  if f>=&H1D4A9 And f<=&H1D4AC Then Return "Common"		  if f>=&H1D4AE And f<=&H1D4B9 Then Return "Common"		  if f=&H1D4BB Then Return "Common"		  if f>=&H1D4BD And f<=&H1D4C3 Then Return "Common"		  if f>=&H1D4C5 And f<=&H1D505 Then Return "Common"		  if f>=&H1D507 And f<=&H1D50A Then Return "Common"		  if f>=&H1D50D And f<=&H1D514 Then Return "Common"		  if f>=&H1D516 And f<=&H1D51C Then Return "Common"		  if f>=&H1D51E And f<=&H1D539 Then Return "Common"		  if f>=&H1D53B And f<=&H1D53E Then Return "Common"		  if f>=&H1D540 And f<=&H1D544 Then Return "Common"		  if f=&H1D546 Then Return "Common"		  if f>=&H1D54A And f<=&H1D550 Then Return "Common"		  if f>=&H1D552 And f<=&H1D6A5 Then Return "Common"		  if f>=&H1D6A8 And f<=&H1D7CB Then Return "Common"		  if f>=&H1D7CE And f<=&H1D7FF Then Return "Common"		  if f>=&H1F000 And f<=&H1F02B Then Return "Common"		  if f>=&H1F030 And f<=&H1F093 Then Return "Common"		  if f=&HE0001 Then Return "Common"		  if f>=&HE0020 And f<=&HE007F Then Return "Common"		  if f>=&H370 And f<=&H373 Then Return "Greek"		  if f>=&H375 And f<=&H377 Then Return "Greek"		  if f>=&H37A And f<=&H37D Then Return "Greek"		  if f=&H384 Then Return "Greek"		  if f=&H386 Then Return "Greek"		  if f>=&H388 And f<=&H38A Then Return "Greek"		  if f=&H38C Then Return "Greek"		  if f>=&H38E And f<=&H3A1 Then Return "Greek"		  if f>=&H3A3 And f<=&H3E1 Then Return "Greek"		  if f>=&H3F0 And f<=&H3FF Then Return "Greek"		  if f>=&H1D26 And f<=&H1D2A Then Return "Greek"		  if f>=&H1D5D And f<=&H1D61 Then Return "Greek"		  if f>=&H1D66 And f<=&H1D6A Then Return "Greek"		  if f=&H1DBF Then Return "Greek"		  if f>=&H1F00 And f<=&H1F15 Then Return "Greek"		  if f>=&H1F18 And f<=&H1F1D Then Return "Greek"		  if f>=&H1F20 And f<=&H1F45 Then Return "Greek"		  if f>=&H1F48 And f<=&H1F4D Then Return "Greek"		  if f>=&H1F50 And f<=&H1F57 Then Return "Greek"		  if f=&H1F59 Then Return "Greek"		  if f=&H1F5B Then Return "Greek"		  if f=&H1F5D Then Return "Greek"		  if f>=&H1F5F And f<=&H1F7D Then Return "Greek"		  if f>=&H1F80 And f<=&H1FB4 Then Return "Greek"		  if f>=&H1FB6 And f<=&H1FC4 Then Return "Greek"		  if f>=&H1FC6 And f<=&H1FD3 Then Return "Greek"		  if f>=&H1FD6 And f<=&H1FDB Then Return "Greek"		  if f>=&H1FDD And f<=&H1FEF Then Return "Greek"		  if f>=&H1FF2 And f<=&H1FF4 Then Return "Greek"		  if f>=&H1FF6 And f<=&H1FFE Then Return "Greek"		  if f=&H2126 Then Return "Greek"		  if f>=&H10140 And f<=&H1018A Then Return "Greek"		  if f>=&H1D200 And f<=&H1D245 Then Return "Greek"		  if f>=&H400 And f<=&H523 Then Return "Cyrillic"		  if f=&H1D2B Then Return "Cyrillic"		  if f=&H1D78 Then Return "Cyrillic"		  if f>=&H2DE0 And f<=&H2DFF Then Return "Cyrillic"		  if f>=&HA640 And f<=&HA65F Then Return "Cyrillic"		  if f>=&HA662 And f<=&HA673 Then Return "Cyrillic"		  if f>=&HA67C And f<=&HA697 Then Return "Cyrillic"		  if f>=&H531 And f<=&H556 Then Return "Armenian"		  if f>=&H559 And f<=&H55F Then Return "Armenian"		  if f>=&H561 And f<=&H587 Then Return "Armenian"		  if f=&H58A Then Return "Armenian"		  if f>=&HFB13 And f<=&HFB17 Then Return "Armenian"		  if f>=&H591 And f<=&H5C7 Then Return "Hebrew"		  if f>=&H5D0 And f<=&H5EA Then Return "Hebrew"		  if f>=&H5F0 And f<=&H5F4 Then Return "Hebrew"		  if f>=&HFB1D And f<=&HFB36 Then Return "Hebrew"		  if f>=&HFB38 And f<=&HFB3C Then Return "Hebrew"		  if f=&HFB3E Then Return "Hebrew"		  if f>=&HFB40 And f<=&HFB41 Then Return "Hebrew"		  if f>=&HFB43 And f<=&HFB44 Then Return "Hebrew"		  if f>=&HFB46 And f<=&HFB4F Then Return "Hebrew"		  if f>=&H600 And f<=&H6FF Then Return "Arabic"		  'if f>=&H606 And f<=&H60B Then Return "Arabic"		  'if f>=&H60D And f<=&H61A Then Return "Arabic"		  'if f=&H61E Then Return "Arabic"		  'if f>=&H621 And f<=&H63F Then Return "Arabic"		  'if f>=&H641 And f<=&H64A Then Return "Arabic"		  'if f>=&H656 And f<=&H65E Then Return "Arabic"		  'if f>=&H66A And f<=&H66F Then Return "Arabic"		  'if f>=&H671 And f<=&H6DC Then Return "Arabic"		  'if f>=&H6DE And f<=&H6FF Then Return "Arabic"		  if f>=&H750 And f<=&H77F Then Return "Arabic"		  if f>=&HFB50 And f<=&HFBB1 Then Return "Arabic"		  if f>=&HFBD3 And f<=&HFD3D Then Return "Arabic"		  if f>=&HFD50 And f<=&HFD8F Then Return "Arabic"		  if f>=&HFD92 And f<=&HFDC7 Then Return "Arabic"		  if f>=&HFDF0 And f<=&HFDFC Then Return "Arabic"		  if f>=&HFE70 And f<=&HFE74 Then Return "Arabic"		  if f>=&HFE76 And f<=&HFEFC Then Return "Arabic"		  if f>=&H700 And f<=&H70D Then Return "Syriac"		  if f>=&H70F And f<=&H74A Then Return "Syriac"		  if f>=&H74D And f<=&H74F Then Return "Syriac"		  if f>=&H780 And f<=&H7B1 Then Return "Thaana"		  if f>=&H901 And f<=&H939 Then Return "Devanagari"		  if f>=&H93C And f<=&H94D Then Return "Devanagari"		  if f=&H950 Then Return "Devanagari"		  if f>=&H953 And f<=&H954 Then Return "Devanagari"		  if f>=&H958 And f<=&H963 Then Return "Devanagari"		  if f>=&H966 And f<=&H96F Then Return "Devanagari"		  if f>=&H971 And f<=&H972 Then Return "Devanagari"		  if f>=&H97B And f<=&H97F Then Return "Devanagari"		  if f>=&H981 And f<=&H983 Then Return "Bengali"		  if f>=&H985 And f<=&H98C Then Return "Bengali"		  if f>=&H98F And f<=&H990 Then Return "Bengali"		  if f>=&H993 And f<=&H9A8 Then Return "Bengali"		  if f>=&H9AA And f<=&H9B0 Then Return "Bengali"		  if f=&H9B2 Then Return "Bengali"		  if f>=&H9B6 And f<=&H9B9 Then Return "Bengali"		  if f>=&H9BC And f<=&H9C4 Then Return "Bengali"		  if f>=&H9C7 And f<=&H9C8 Then Return "Bengali"		  if f>=&H9CB And f<=&H9CE Then Return "Bengali"		  if f=&H9D7 Then Return "Bengali"		  if f>=&H9DC And f<=&H9DD Then Return "Bengali"		  if f>=&H9DF And f<=&H9E3 Then Return "Bengali"		  if f>=&H9E6 And f<=&H9FA Then Return "Bengali"		  if f>=&HA01 And f<=&HA03 Then Return "Gurmukhi"		  if f>=&HA05 And f<=&HA0A Then Return "Gurmukhi"		  if f>=&HA0F And f<=&HA10 Then Return "Gurmukhi"		  if f>=&HA13 And f<=&HA28 Then Return "Gurmukhi"		  if f>=&HA2A And f<=&HA30 Then Return "Gurmukhi"		  if f>=&HA32 And f<=&HA33 Then Return "Gurmukhi"		  if f>=&HA35 And f<=&HA36 Then Return "Gurmukhi"		  if f>=&HA38 And f<=&HA39 Then Return "Gurmukhi"		  if f=&HA3C Then Return "Gurmukhi"		  if f>=&HA3E And f<=&HA42 Then Return "Gurmukhi"		  if f>=&HA47 And f<=&HA48 Then Return "Gurmukhi"		  if f>=&HA4B And f<=&HA4D Then Return "Gurmukhi"		  if f=&HA51 Then Return "Gurmukhi"		  if f>=&HA59 And f<=&HA5C Then Return "Gurmukhi"		  if f=&HA5E Then Return "Gurmukhi"		  if f>=&HA66 And f<=&HA75 Then Return "Gurmukhi"		  if f>=&HA81 And f<=&HA83 Then Return "Gujarati"		  if f>=&HA85 And f<=&HA8D Then Return "Gujarati"		  if f>=&HA8F And f<=&HA91 Then Return "Gujarati"		  if f>=&HA93 And f<=&HAA8 Then Return "Gujarati"		  if f>=&HAAA And f<=&HAB0 Then Return "Gujarati"		  if f>=&HAB2 And f<=&HAB3 Then Return "Gujarati"		  if f>=&HAB5 And f<=&HAB9 Then Return "Gujarati"		  if f>=&HABC And f<=&HAC5 Then Return "Gujarati"		  if f>=&HAC7 And f<=&HAC9 Then Return "Gujarati"		  if f>=&HACB And f<=&HACD Then Return "Gujarati"		  if f=&HAD0 Then Return "Gujarati"		  if f>=&HAE0 And f<=&HAE3 Then Return "Gujarati"		  if f>=&HAE6 And f<=&HAEF Then Return "Gujarati"		  if f=&HAF1 Then Return "Gujarati"		  if f>=&HB01 And f<=&HB03 Then Return "Oriya"		  if f>=&HB05 And f<=&HB0C Then Return "Oriya"		  if f>=&HB0F And f<=&HB10 Then Return "Oriya"		  if f>=&HB13 And f<=&HB28 Then Return "Oriya"		  if f>=&HB2A And f<=&HB30 Then Return "Oriya"		  if f>=&HB32 And f<=&HB33 Then Return "Oriya"		  if f>=&HB35 And f<=&HB39 Then Return "Oriya"		  if f>=&HB3C And f<=&HB44 Then Return "Oriya"		  if f>=&HB47 And f<=&HB48 Then Return "Oriya"		  if f>=&HB4B And f<=&HB4D Then Return "Oriya"		  if f>=&HB56 And f<=&HB57 Then Return "Oriya"		  if f>=&HB5C And f<=&HB5D Then Return "Oriya"		  if f>=&HB5F And f<=&HB63 Then Return "Oriya"		  if f>=&HB66 And f<=&HB71 Then Return "Oriya"		  if f>=&HB82 And f<=&HB83 Then Return "Tamil"		  if f>=&HB85 And f<=&HB8A Then Return "Tamil"		  if f>=&HB8E And f<=&HB90 Then Return "Tamil"		  if f>=&HB92 And f<=&HB95 Then Return "Tamil"		  if f>=&HB99 And f<=&HB9A Then Return "Tamil"		  if f=&HB9C Then Return "Tamil"		  if f>=&HB9E And f<=&HB9F Then Return "Tamil"		  if f>=&HBA3 And f<=&HBA4 Then Return "Tamil"		  if f>=&HBA8 And f<=&HBAA Then Return "Tamil"		  if f>=&HBAE And f<=&HBB9 Then Return "Tamil"		  if f>=&HBBE And f<=&HBC2 Then Return "Tamil"		  if f>=&HBC6 And f<=&HBC8 Then Return "Tamil"		  if f>=&HBCA And f<=&HBCD Then Return "Tamil"		  if f=&HBD0 Then Return "Tamil"		  if f=&HBD7 Then Return "Tamil"		  if f>=&HBE6 And f<=&HBFA Then Return "Tamil"		  if f>=&HC01 And f<=&HC03 Then Return "Telugu"		  if f>=&HC05 And f<=&HC0C Then Return "Telugu"		  if f>=&HC0E And f<=&HC10 Then Return "Telugu"		  if f>=&HC12 And f<=&HC28 Then Return "Telugu"		  if f>=&HC2A And f<=&HC33 Then Return "Telugu"		  if f>=&HC35 And f<=&HC39 Then Return "Telugu"		  if f>=&HC3D And f<=&HC44 Then Return "Telugu"		  if f>=&HC46 And f<=&HC48 Then Return "Telugu"		  if f>=&HC4A And f<=&HC4D Then Return "Telugu"		  if f>=&HC55 And f<=&HC56 Then Return "Telugu"		  if f>=&HC58 And f<=&HC59 Then Return "Telugu"		  if f>=&HC60 And f<=&HC63 Then Return "Telugu"		  if f>=&HC66 And f<=&HC6F Then Return "Telugu"		  if f>=&HC78 And f<=&HC7F Then Return "Telugu"		  if f>=&HC82 And f<=&HC83 Then Return "Kannada"		  if f>=&HC85 And f<=&HC8C Then Return "Kannada"		  if f>=&HC8E And f<=&HC90 Then Return "Kannada"		  if f>=&HC92 And f<=&HCA8 Then Return "Kannada"		  if f>=&HCAA And f<=&HCB3 Then Return "Kannada"		  if f>=&HCB5 And f<=&HCB9 Then Return "Kannada"		  if f>=&HCBC And f<=&HCC4 Then Return "Kannada"		  if f>=&HCC6 And f<=&HCC8 Then Return "Kannada"		  if f>=&HCCA And f<=&HCCD Then Return "Kannada"		  if f>=&HCD5 And f<=&HCD6 Then Return "Kannada"		  if f=&HCDE Then Return "Kannada"		  if f>=&HCE0 And f<=&HCE3 Then Return "Kannada"		  if f>=&HCE6 And f<=&HCEF Then Return "Kannada"		  if f>=&HD02 And f<=&HD03 Then Return "Malayalam"		  if f>=&HD05 And f<=&HD0C Then Return "Malayalam"		  if f>=&HD0E And f<=&HD10 Then Return "Malayalam"		  if f>=&HD12 And f<=&HD28 Then Return "Malayalam"		  if f>=&HD2A And f<=&HD39 Then Return "Malayalam"		  if f>=&HD3D And f<=&HD44 Then Return "Malayalam"		  if f>=&HD46 And f<=&HD48 Then Return "Malayalam"		  if f>=&HD4A And f<=&HD4D Then Return "Malayalam"		  if f=&HD57 Then Return "Malayalam"		  if f>=&HD60 And f<=&HD63 Then Return "Malayalam"		  if f>=&HD66 And f<=&HD75 Then Return "Malayalam"		  if f>=&HD79 And f<=&HD7F Then Return "Malayalam"		  if f>=&HD82 And f<=&HD83 Then Return "Sinhala"		  if f>=&HD85 And f<=&HD96 Then Return "Sinhala"		  if f>=&HD9A And f<=&HDB1 Then Return "Sinhala"		  if f>=&HDB3 And f<=&HDBB Then Return "Sinhala"		  if f=&HDBD Then Return "Sinhala"		  if f>=&HDC0 And f<=&HDC6 Then Return "Sinhala"		  if f=&HDCA Then Return "Sinhala"		  if f>=&HDCF And f<=&HDD4 Then Return "Sinhala"		  if f=&HDD6 Then Return "Sinhala"		  if f>=&HDD8 And f<=&HDDF Then Return "Sinhala"		  if f>=&HDF2 And f<=&HDF4 Then Return "Sinhala"		  if f>=&HE01 And f<=&HE3A Then Return "Thai"		  if f>=&HE40 And f<=&HE5B Then Return "Thai"		  if f>=&HE81 And f<=&HE82 Then Return "Lao"		  if f=&HE84 Then Return "Lao"		  if f>=&HE87 And f<=&HE88 Then Return "Lao"		  if f=&HE8A Then Return "Lao"		  if f=&HE8D Then Return "Lao"		  if f>=&HE94 And f<=&HE97 Then Return "Lao"		  if f>=&HE99 And f<=&HE9F Then Return "Lao"		  if f>=&HEA1 And f<=&HEA3 Then Return "Lao"		  if f=&HEA5 Then Return "Lao"		  if f=&HEA7 Then Return "Lao"		  if f>=&HEAA And f<=&HEAB Then Return "Lao"		  if f>=&HEAD And f<=&HEB9 Then Return "Lao"		  if f>=&HEBB And f<=&HEBD Then Return "Lao"		  if f>=&HEC0 And f<=&HEC4 Then Return "Lao"		  if f=&HEC6 Then Return "Lao"		  if f>=&HEC8 And f<=&HECD Then Return "Lao"		  if f>=&HED0 And f<=&HED9 Then Return "Lao"		  if f>=&HEDC And f<=&HEDD Then Return "Lao"		  if f>=&HF00 And f<=&HF47 Then Return "Tibetan"		  if f>=&HF49 And f<=&HF6C Then Return "Tibetan"		  if f>=&HF71 And f<=&HF8B Then Return "Tibetan"		  if f>=&HF90 And f<=&HF97 Then Return "Tibetan"		  if f>=&HF99 And f<=&HFBC Then Return "Tibetan"		  if f>=&HFBE And f<=&HFCC Then Return "Tibetan"		  if f>=&HFCE And f<=&HFD4 Then Return "Tibetan"		  if f>=&H1000 And f<=&H1099 Then Return "Myanmar"		  if f>=&H109E And f<=&H109F Then Return "Myanmar"		  if f>=&H10A0 And f<=&H10C5 Then Return "Georgian"		  if f>=&H10D0 And f<=&H10FA Then Return "Georgian"		  if f=&H10FC Then Return "Georgian"		  if f>=&H2D00 And f<=&H2D25 Then Return "Georgian"		  if f>=&H1100 And f<=&H1159 Then Return "Hangul"		  if f>=&H115F And f<=&H11A2 Then Return "Hangul"		  if f>=&H11A8 And f<=&H11F9 Then Return "Hangul"		  if f>=&H3131 And f<=&H318E Then Return "Hangul"		  if f>=&H3200 And f<=&H321E Then Return "Hangul"		  if f>=&H3260 And f<=&H327E Then Return "Hangul"		  if f>=&HAC00 And f<=&HD7A3 Then Return "Hangul"		  if f>=&HFFA0 And f<=&HFFBE Then Return "Hangul"		  if f>=&HFFC2 And f<=&HFFC7 Then Return "Hangul"		  if f>=&HFFCA And f<=&HFFCF Then Return "Hangul"		  if f>=&HFFD2 And f<=&HFFD7 Then Return "Hangul"		  if f>=&HFFDA And f<=&HFFDC Then Return "Hangul"		  if f>=&H1200 And f<=&H1248 Then Return "Ethiopic"		  if f>=&H124A And f<=&H124D Then Return "Ethiopic"		  if f>=&H1250 And f<=&H1256 Then Return "Ethiopic"		  if f=&H1258 Then Return "Ethiopic"		  if f>=&H125A And f<=&H125D Then Return "Ethiopic"		  if f>=&H1260 And f<=&H1288 Then Return "Ethiopic"		  if f>=&H128A And f<=&H128D Then Return "Ethiopic"		  if f>=&H1290 And f<=&H12B0 Then Return "Ethiopic"		  if f>=&H12B2 And f<=&H12B5 Then Return "Ethiopic"		  if f>=&H12B8 And f<=&H12BE Then Return "Ethiopic"		  if f=&H12C0 Then Return "Ethiopic"		  if f>=&H12C2 And f<=&H12C5 Then Return "Ethiopic"		  if f>=&H12C8 And f<=&H12D6 Then Return "Ethiopic"		  if f>=&H12D8 And f<=&H1310 Then Return "Ethiopic"		  if f>=&H1312 And f<=&H1315 Then Return "Ethiopic"		  if f>=&H1318 And f<=&H135A Then Return "Ethiopic"		  if f>=&H135F And f<=&H137C Then Return "Ethiopic"		  if f>=&H1380 And f<=&H1399 Then Return "Ethiopic"		  if f>=&H2D80 And f<=&H2D96 Then Return "Ethiopic"		  if f>=&H2DA0 And f<=&H2DA6 Then Return "Ethiopic"		  if f>=&H2DA8 And f<=&H2DAE Then Return "Ethiopic"		  if f>=&H2DB0 And f<=&H2DB6 Then Return "Ethiopic"		  if f>=&H2DB8 And f<=&H2DBE Then Return "Ethiopic"		  if f>=&H2DC0 And f<=&H2DC6 Then Return "Ethiopic"		  if f>=&H2DC8 And f<=&H2DCE Then Return "Ethiopic"		  if f>=&H2DD0 And f<=&H2DD6 Then Return "Ethiopic"		  if f>=&H2DD8 And f<=&H2DDE Then Return "Ethiopic"		  if f>=&H13A0 And f<=&H13F4 Then Return "Cherokee"		  if f>=&H1401 And f<=&H1676 Then Return "Canadian_Aboriginal"		  if f>=&H1680 And f<=&H169C Then Return "Ogham"		  if f>=&H16A0 And f<=&H16EA Then Return "Runic"		  if f>=&H16EE And f<=&H16F0 Then Return "Runic"		  if f>=&H1780 And f<=&H17DD Then Return "Khmer"		  if f>=&H17E0 And f<=&H17E9 Then Return "Khmer"		  if f>=&H17F0 And f<=&H17F9 Then Return "Khmer"		  if f>=&H19E0 And f<=&H19FF Then Return "Khmer"		  if f>=&H1800 And f<=&H1801 Then Return "Mongolian"		  if f=&H1804 Then Return "Mongolian"		  if f>=&H1806 And f<=&H180E Then Return "Mongolian"		  if f>=&H1810 And f<=&H1819 Then Return "Mongolian"		  if f>=&H1820 And f<=&H1877 Then Return "Mongolian"		  if f>=&H1880 And f<=&H18AA Then Return "Mongolian"		  if f>=&H3041 And f<=&H3096 Then Return "Hiragana"		  if f>=&H309D And f<=&H309F Then Return "Hiragana"		  if f>=&H30A1 And f<=&H30FA Then Return "Katakana"		  if f>=&H30FD And f<=&H30FF Then Return "Katakana"		  if f>=&H31F0 And f<=&H31FF Then Return "Katakana"		  if f>=&H32D0 And f<=&H32FE Then Return "Katakana"		  if f>=&H3300 And f<=&H3357 Then Return "Katakana"		  if f>=&HFF66 And f<=&HFF6F Then Return "Katakana"		  if f>=&HFF71 And f<=&HFF9D Then Return "Katakana"		  if f>=&H3105 And f<=&H312D Then Return "Bopomofo"		  if f>=&H31A0 And f<=&H31B7 Then Return "Bopomofo"		  if f>=&H2E80 And f<=&H2E99 Then Return "Han"		  if f>=&H2E9B And f<=&H2EF3 Then Return "Han"		  if f>=&H2F00 And f<=&H2FD5 Then Return "Han"		  if f=&H3005 Then Return "Han"		  if f=&H3007 Then Return "Han"		  if f>=&H3021 And f<=&H3029 Then Return "Han"		  if f>=&H3038 And f<=&H303B Then Return "Han"		  if f>=&H3400 And f<=&H4DB5 Then Return "Han"		  if f>=&H4E00 And f<=&H9FC3 Then Return "Han"		  if f>=&HF900 And f<=&HFA2D Then Return "Han"		  if f>=&HFA30 And f<=&HFA6A Then Return "Han"		  if f>=&HFA70 And f<=&HFAD9 Then Return "Han"		  if f>=&H20000 And f<=&H2A6D6 Then Return "Han"		  if f>=&H2F800 And f<=&H2FA1D Then Return "Han"		  if f>=&HA000 And f<=&HA48C Then Return "Yi"		  if f>=&HA490 And f<=&HA4C6 Then Return "Yi"		  if f>=&H10300 And f<=&H1031E Then Return "Old_Italic"		  if f>=&H10320 And f<=&H10323 Then Return "Old_Italic"		  if f>=&H10330 And f<=&H1034A Then Return "Gothic"		  if f>=&H10400 And f<=&H1044F Then Return "Deseret"		  if f>=&H300 And f<=&H36F Then Return "Inherited"		  if f>=&H64B And f<=&H655 Then Return "Inherited"		  if f=&H670 Then Return "Inherited"		  if f>=&H951 And f<=&H952 Then Return "Inherited"		  if f>=&H1DC0 And f<=&H1DE6 Then Return "Inherited"		  if f>=&H1DFE And f<=&H1DFF Then Return "Inherited"		  if f>=&H200C And f<=&H200D Then Return "Inherited"		  if f>=&H20D0 And f<=&H20F0 Then Return "Inherited"		  if f>=&H302A And f<=&H302F Then Return "Inherited"		  if f>=&H3099 And f<=&H309A Then Return "Inherited"		  if f>=&HFE00 And f<=&HFE0F Then Return "Inherited"		  if f>=&HFE20 And f<=&HFE26 Then Return "Inherited"		  if f=&H101FD Then Return "Inherited"		  if f>=&H1D167 And f<=&H1D169 Then Return "Inherited"		  if f>=&H1D17B And f<=&H1D182 Then Return "Inherited"		  if f>=&H1D185 And f<=&H1D18B Then Return "Inherited"		  if f>=&H1D1AA And f<=&H1D1AD Then Return "Inherited"		  if f>=&HE0100 And f<=&HE01EF Then Return "Inherited"		  if f>=&H1700 And f<=&H170C Then Return "Tagalog"		  if f>=&H170E And f<=&H1714 Then Return "Tagalog"		  if f>=&H1720 And f<=&H1734 Then Return "Hanunoo"		  if f>=&H1740 And f<=&H1753 Then Return "Buhid"		  if f>=&H1760 And f<=&H176C Then Return "Tagbanwa"		  if f>=&H176E And f<=&H1770 Then Return "Tagbanwa"		  if f>=&H1772 And f<=&H1773 Then Return "Tagbanwa"		  if f>=&H1900 And f<=&H191C Then Return "Limbu"		  if f>=&H1920 And f<=&H192B Then Return "Limbu"		  if f>=&H1930 And f<=&H193B Then Return "Limbu"		  if f=&H1940 Then Return "Limbu"		  if f>=&H1944 And f<=&H194F Then Return "Limbu"		  if f>=&H1950 And f<=&H196D Then Return "Tai_Le"		  if f>=&H1970 And f<=&H1974 Then Return "Tai_Le"		  if f>=&H10000 And f<=&H1000B Then Return "Linear_B"		  if f>=&H1000D And f<=&H10026 Then Return "Linear_B"		  if f>=&H10028 And f<=&H1003A Then Return "Linear_B"		  if f>=&H1003C And f<=&H1003D Then Return "Linear_B"		  if f>=&H1003F And f<=&H1004D Then Return "Linear_B"		  if f>=&H10050 And f<=&H1005D Then Return "Linear_B"		  if f>=&H10080 And f<=&H100FA Then Return "Linear_B"		  if f>=&H10380 And f<=&H1039D Then Return "Ugaritic"		  if f=&H1039F Then Return "Ugaritic"		  if f>=&H10450 And f<=&H1047F Then Return "Shavian"		  if f>=&H10480 And f<=&H1049D Then Return "Osmanya"		  if f>=&H104A0 And f<=&H104A9 Then Return "Osmanya"		  if f>=&H10800 And f<=&H10805 Then Return "Cypriot"		  if f=&H10808 Then Return "Cypriot"		  if f>=&H1080A And f<=&H10835 Then Return "Cypriot"		  if f>=&H10837 And f<=&H10838 Then Return "Cypriot"		  if f=&H1083C Then Return "Cypriot"		  if f=&H1083F Then Return "Cypriot"		  if f>=&H2800 And f<=&H28FF Then Return "Braille"		  if f>=&H1A00 And f<=&H1A1B Then Return "Buginese"		  if f>=&H1A1E And f<=&H1A1F Then Return "Buginese"		  if f>=&H3E2 And f<=&H3EF Then Return "Coptic"		  if f>=&H2C80 And f<=&H2CEA Then Return "Coptic"		  if f>=&H2CF9 And f<=&H2CFF Then Return "Coptic"		  if f>=&H1980 And f<=&H19A9 Then Return "New_Tai_Lue"		  if f>=&H19B0 And f<=&H19C9 Then Return "New_Tai_Lue"		  if f>=&H19D0 And f<=&H19D9 Then Return "New_Tai_Lue"		  if f>=&H19DE And f<=&H19DF Then Return "New_Tai_Lue"		  if f>=&H2C00 And f<=&H2C2E Then Return "Glagolitic"		  if f>=&H2C30 And f<=&H2C5E Then Return "Glagolitic"		  if f>=&H2D30 And f<=&H2D65 Then Return "Tifinagh"		  if f=&H2D6F Then Return "Tifinagh"		  if f>=&HA800 And f<=&HA82B Then Return "Syloti_Nagri"		  if f>=&H103A0 And f<=&H103C3 Then Return "Old_Persian"		  if f>=&H103C8 And f<=&H103D5 Then Return "Old_Persian"		  if f>=&H10A00 And f<=&H10A03 Then Return "Kharoshthi"		  if f>=&H10A05 And f<=&H10A06 Then Return "Kharoshthi"		  if f>=&H10A0C And f<=&H10A13 Then Return "Kharoshthi"		  if f>=&H10A15 And f<=&H10A17 Then Return "Kharoshthi"		  if f>=&H10A19 And f<=&H10A33 Then Return "Kharoshthi"		  if f>=&H10A38 And f<=&H10A3A Then Return "Kharoshthi"		  if f>=&H10A3F And f<=&H10A47 Then Return "Kharoshthi"		  if f>=&H10A50 And f<=&H10A58 Then Return "Kharoshthi"		  if f>=&H1B00 And f<=&H1B4B Then Return "Balinese"		  if f>=&H1B50 And f<=&H1B7C Then Return "Balinese"		  if f>=&H12000 And f<=&H1236E Then Return "Cuneiform"		  if f>=&H12400 And f<=&H12462 Then Return "Cuneiform"		  if f>=&H12470 And f<=&H12473 Then Return "Cuneiform"		  if f>=&H10900 And f<=&H10919 Then Return "Phoenician"		  if f=&H1091F Then Return "Phoenician"		  if f>=&HA840 And f<=&HA877 Then Return "Phags_Pa"		  if f>=&H7C0 And f<=&H7FA Then Return "N'ko"		  if f>=&H1B80 And f<=&H1BAA Then Return "Sundanese"		  if f>=&H1BAE And f<=&H1BB9 Then Return "Sundanese"		  if f>=&H1C00 And f<=&H1C37 Then Return "Lepcha"		  if f>=&H1C3B And f<=&H1C49 Then Return "Lepcha"		  if f>=&H1C4D And f<=&H1C4F Then Return "Lepcha"		  if f>=&H1C50 And f<=&H1C7F Then Return "Ol_Chiki"		  if f>=&HA500 And f<=&HA62B Then Return "Vai"		  if f>=&HA880 And f<=&HA8C4 Then Return "Saurashtra"		  if f>=&HA8CE And f<=&HA8D9 Then Return "Saurashtra"		  if f>=&HA900 And f<=&HA92F Then Return "Kayah_Li"		  if f>=&HA930 And f<=&HA953 Then Return "Rejang"		  if f=&HA95F Then Return "Rejang"		  if f>=&H10280 And f<=&H1029C Then Return "Lycian"		  if f>=&H102A0 And f<=&H102D0 Then Return "Carian"		  if f>=&H10920 And f<=&H10939 Then Return "Lydian"		  if f=&H1093F Then Return "Lydian"		  if f>=&HAA00 And f<=&HAA36 Then Return "Cham"		  if f>=&HAA40 And f<=&HAA4D Then Return "Cham"		  if f>=&HAA50 And f<=&HAA59 Then Return "Cham"		  if f>=&HAA5C And f<=&HAA5F Then Return "Cham"		  		  Return "Unknown"		  		End Function	#tag EndMethod	#tag Property, Flags = &h0		DiacriticsDB As Dictionary	#tag EndProperty	#tag Property, Flags = &h0		ReverseDiacriticsDB As Dictionary	#tag EndProperty	#tag Constant, Name = Directions, Type = String, Dynamic = False, Default = \"Afghanistan      Arabic      RTL      Pashto\rArmenia     Armenian     LTR     Armenian\rAustria     Latin     LTR     German\rBelgium     Latin     LTR     Dutch\x2C French\rBrazil     Latin     LTR     Portuguese (Brazilian)\rBulgaria     Cyrillic     LTR     Bulgarian\rChina\x2C except Hong Kong     Simplified Chinese     LTR or TTB     Mandarin\rCroatia     Latin     LTR     Croatian\rCzech Republic     Latin     LTR     Czech\rDenmark     Latin     LTR     Danish\rEstonia     Latin     LTR     Estonian\rFinland     Latin     LTR     Finnish\rFrance     Latin     LTR     French\rGeorgia     Georgian     LTR     Georgian\rGerman     Latin     LTR     German\rGreece     Greek     LTR     Greek\rHong Kong     Traditional Chinese2     LTR or TTB     Cantonese\rHungary     Latin     LTR     Hungarian\rIndia     Devanagari     LTR     Hindi3\rIsrael     Hebrew     RTL     Hebrew\rItaly     Latin     LTR     Italian\rJapan     Kanji + Hiragana + Katakana     LTR or TTB     Japanese\rKorea     Hangul\x2C Hanja     LTR or TTB     Korean\rLatin America\x2C except Brazil     Latin     LTR     Spanish\rLatvia     Latin     LTR     Latvian\rLithuania     Latin     LTR     Lithuanian\rMiddle East     Arabic     RTL     Arabic\rNetherlands     Latin     LTR     Dutch\rNorth America     Latin     LTR     English\x2C French\x2C Spanish\rNorway     Latin     LTR     Norwegian\rPakistan     Arabic     RTL     Urdu\rPoland     Latin     LTR     Polish\rPortugal     Latin     LTR     Portuguese (Portugal)\rRomania     Latin     LTR     Romanian\rRussia     Cyrillic     LTR     Russian\rSerbia and Montenegro     Cyrillic     LTR     Serbian\rSlovakia     Latin     LTR     Slovak\rSlovenia     Latin     LTR     Slovenian\rSpain     Latin     LTR     Catalan\x2C Spanish\rSweden     Latin     LTR     Swedish\rSwitzerland     Latin     LTR     French\x2C German\x2C Italian\rTaiwan     Traditional Chinese     LTR or TTB     Mandarin\rThailand     Thai     LTR     Thai\rTurkey     Latin     LTR     Turkish\rUnited Kingdom     Latin     LTR     English", Scope = Public	#tag EndConstant	#tag Constant, Name = LongerSample, Type = String, Dynamic = False, Default = \"Jamel Debbouze (Arabic: \xD8\xAC\xD9\x85\xD8\xA7\xD9\x84 \xD8\xAF\xD8\xA8\xD9\x91\xD9\x88\xD8\xB2\xE2\x80\x8E) (born June 18\x2C 1975 in Paris) is a French actor\x2C comedian and producer of Moroccan descent. Jamel Debbouze (Arabic: \xD8\xAC\xD9\x85\xD8\xA7\xD9\x84 \xD8\xAF\xD8\xA8\xD9\x91\xD9\x88\xD8\xB2\xE2\x80\x8E) (born June 18\x2C 1975 in Paris) is a French actor\x2C comedian and producer of Moroccan descent. Jamel Debbouze (Arabic: \xD8\xAC\xD9\x85\xD8\xA7\xD9\x84 \xD8\xAF\xD8\xA8\xD9\x91\xD9\x88\xD8\xB2\xE2\x80\x8E) (born June 18\x2C 1975 in Paris) is a French actor\x2C comedian and producer of Moroccan descent. Jamel Debbouze (Arabic: \xD8\xAC\xD9\x85\xD8\xA7\xD9\x84 \xD8\xAF\xD8\xA8\xD9\x91\xD9\x88\xD8\xB2\xE2\x80\x8E) (born June 18\x2C 1975 in Paris) is a French actor\x2C comedian and producer of Moroccan descent.\r\r\xD7\xA2\xD7\x91\"\xD7\x9C 456/07 - \xD7\x93\xD7\x9C\xD7\x99\xD7\x94 \xD7\x91\xD7\x9F \xD7\x99\xD7\xA9\xD7\x99 \xD7\xA0\' \xD7\x94\xD7\x9E\xD7\x95\xD7\xA1\xD7\x93 \xD7\x9C\xD7\x91\xD7\x99\xD7\x98\xD7\x95\xD7\x97 \xD7\x9C\xD7\x90\xD7\x95\xD7\x9E\xD7\x99 \xD7\xA2\xD7\x91\"\xD7\x9C 456/07 - \xD7\x93\xD7\x9C\xD7\x99\xD7\x94 \xD7\x91\xD7\x9F \xD7\x99\xD7\xA9\xD7\x99 \xD7\xA0\' \xD7\x94\xD7\x9E\xD7\x95\xD7\xA1\xD7\x93 \xD7\x9C\xD7\x91\xD7\x99\xD7\x98\xD7\x95\xD7\x97 \xD7\x9C\xD7\x90\xD7\x95\xD7\x9E\xD7\x99 \xD7\xA2\xD7\x91\"\xD7\x9C 456/07 - \xD7\x93\xD7\x9C\xD7\x99\xD7\x94 \xD7\x91\xD7\x9F \xD7\x99\xD7\xA9\xD7\x99 \xD7\xA0\' \xD7\x94\xD7\x9E\xD7\x95\xD7\xA1\xD7\x93 \xD7\x9C\xD7\x91\xD7\x99\xD7\x98\xD7\x95\xD7\x97 \xD7\x9C\xD7\x90\xD7\x95\xD7\x9E\xD7\x99 \xD7\xA2\xD7\x91\"\xD7\x9C 456/07 - \xD7\x93\xD7\x9C\xD7\x99\xD7\x94 \xD7\x91\xD7\x9F \xD7\x99\xD7\xA9\xD7\x99 \xD7\xA0\' \xD7\x94\xD7\x9E\xD7\x95\xD7\xA1\xD7\x93 \xD7\x9C\xD7\x91\xD7\x99\xD7\x98\xD7\x95\xD7\x97 \xD7\x9C\xD7\x90\xD7\x95\xD7\x9E\xD7\x99 \xD7\xA2\xD7\x91\"\xD7\x9C 456/07 - \xD7\x93\xD7\x9C\xD7\x99\xD7\x94 \xD7\x91\xD7\x9F \xD7\x99\xD7\xA9\xD7\x99 \xD7\xA0\' \xD7\x94\xD7\x9E\xD7\x95\xD7\xA1\xD7\x93 \xD7\x9C\xD7\x91\xD7\x99\xD7\x98\xD7\x95\xD7\x97 \xD7\x9C\xD7\x90\xD7\x95\xD7\x9E\xD7\x99\r\rLalalala\r\r\xE3\x81\x93\xE3\x82\x8C\xE3\x81\xAF\xE4\xBD\x95\xE3\x81\xA7\xE3\x81\x99\xE3\x81\x8B\xEF\xBC\x9F\xE5\x83\x95\xE3\x82\x82\xE3\x82\x8F\xE3\x81\x8B\xE3\x82\x89\xE3\x82\x93\xE3\x81\xAA\xEF\xBC\x81\xE3\x81\x93\xE3\x82\x8C\xE3\x81\xAF\xE4\xBD\x95\xE3\x81\xA7\xE3\x81\x99\xE3\x81\x8B\xEF\xBC\x9F\xE5\x83\x95\xE3\x82\x82\xE3\x82\x8F\xE3\x81\x8B\xE3\x82\x89\xE3\x82\x93\xE3\x81\xAA\xEF\xBC\x81\xE3\x81\x93\xE3\x82\x8C\xE3\x81\xAF\xE4\xBD\x95\xE3\x81\xA7\xE3\x81\x99\xE3\x81\x8B\xEF\xBC\x9F\xE5\x83\x95\xE3\x82\x82\xE3\x82\x8F\xE3\x81\x8B\xE3\x82\x89\xE3\x82\x93\xE3\x81\xAA\xEF\xBC\x81\xE3\x81\x93\xE3\x82\x8C\xE3\x81\xAF\xE4\xBD\x95\xE3\x81\xA7\xE3\x81\x99\xE3\x81\x8B\xEF\xBC\x9F\xE5\x83\x95\xE3\x82\x82\xE3\x82\x8F\xE3\x81\x8B\xE3\x82\x89\xE3\x82\x93\xE3\x81\xAA\xEF\xBC\x81\xE3\x81\x93\xE3\x82\x8C\xE3\x81\xAF\xE4\xBD\x95\xE3\x81\xA7\xE3\x81\x99\xE3\x81\x8B\xEF\xBC\x9F\xE5\x83\x95\xE3\x82\x82\xE3\x82\x8F\xE3\x81\x8B\xE3\x82\x89\xE3\x82\x93\xE3\x81\xAA\xEF\xBC\x81\xE3\x81\x93\xE3\x82\x8C\xE3\x81\xAF\xE4\xBD\x95\xE3\x81\xA7\xE3\x81\x99\xE3\x81\x8B\xEF\xBC\x9F\xE5\x83\x95\xE3\x82\x82\xE3\x82\x8F\xE3\x81\x8B\xE3\x82\x89\xE3\x82\x93\xE3\x81\xAA\xEF\xBC\x81\xE3\x81\x93\xE3\x82\x8C\xE3\x81\xAF\xE4\xBD\x95\xE3\x81\xA7\xE3\x81\x99\xE3\x81\x8B\xEF\xBC\x9F\xE5\x83\x95\xE3\x82\x82\xE3\x82\x8F\xE3\x81\x8B\xE3\x82\x89\xE3\x82\x93\xE3\x81\xAA\xEF\xBC\x81\xE3\x81\x93\xE3\x82\x8C\xE3\x81\xAF\xE4\xBD\x95\xE3\x81\xA7\xE3\x81\x99\xE3\x81\x8B\xEF\xBC\x9F\xE5\x83\x95\xE3\x82\x82\xE3\x82\x8F\xE3\x81\x8B\xE3\x82\x89\xE3\x82\x93\xE3\x81\xAA\xEF\xBC\x81\xE3\x81\x93\xE3\x82\x8C\xE3\x81\xAF\xE4\xBD\x95\xE3\x81\xA7\xE3\x81\x99\xE3\x81\x8B\xEF\xBC\x9F\xE5\x83\x95\xE3\x82\x82\xE3\x82\x8F\xE3\x81\x8B\xE3\x82\x89\xE3\x82\x93\xE3\x81\xAA\xEF\xBC\x81\xE3\x81\x93\xE3\x82\x8C\xE3\x81\xAF\xE4\xBD\x95\xE3\x81\xA7\xE3\x81\x99\xE3\x81\x8B\xEF\xBC\x9F\xE5\x83\x95\xE3\x82\x82\xE3\x82\x8F\xE3\x81\x8B\xE3\x82\x89\xE3\x82\x93\xE3\x81\xAA\xEF\xBC\x81\xE3\x81\x93\xE3\x82\x8C\xE3\x81\xAF\xE4\xBD\x95\xE3\x81\xA7\xE3\x81\x99\xE3\x81\x8B\xEF\xBC\x9F\xE5\x83\x95\xE3\x82\x82\xE3\x82\x8F\xE3\x81\x8B\xE3\x82\x89\xE3\x82\x93\xE3\x81\xAA\xEF\xBC\x81", Scope = Public	#tag EndConstant	#tag ViewBehavior		#tag ViewProperty			Name="Index"			Visible=true			Group="ID"			InitialValue="-2147483648"			InheritedFrom="Object"		#tag EndViewProperty		#tag ViewProperty			Name="Left"			Visible=true			Group="Position"			InitialValue="0"			InheritedFrom="Object"		#tag EndViewProperty		#tag ViewProperty			Name="Name"			Visible=true			Group="ID"			InheritedFrom="Object"		#tag EndViewProperty		#tag ViewProperty			Name="Super"			Visible=true			Group="ID"			InheritedFrom="Object"		#tag EndViewProperty		#tag ViewProperty			Name="Top"			Visible=true			Group="Position"			InitialValue="0"			InheritedFrom="Object"		#tag EndViewProperty	#tag EndViewBehaviorEnd Module#tag EndModule